diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..e2d87a31 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,48 @@ +language: go + +go: + - 1.4 + - tip + +# Derived from https://github.com/lib/pq/blob/master/.travis.yml +before_install: + - sudo apt-get remove -y --purge postgresql libpq-dev libpq5 postgresql-client-common postgresql-common + - sudo rm -rf /var/lib/postgresql + - wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - + - sudo sh -c "echo deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main $PGVERSION >> /etc/apt/sources.list.d/postgresql.list" + - sudo apt-get update -qq + - sudo apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::="--force-confnew" install postgresql-$PGVERSION postgresql-server-dev-$PGVERSION postgresql-contrib-$PGVERSION + - sudo chmod 777 /etc/postgresql/$PGVERSION/main/pg_hba.conf + - echo "local all postgres trust" > /etc/postgresql/$PGVERSION/main/pg_hba.conf + - echo "local all all trust" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf + - echo "host all pgx_md5 127.0.0.1/32 md5" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf + - echo "host all pgx_pw 127.0.0.1/32 password" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf + - echo "hostssl all pgx_ssl 127.0.0.1/32 md5" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf + - sudo /etc/init.d/postgresql restart + - go get golang.org/x/tools/cmd/cover + +env: + matrix: + - PGVERSION=9.4 + - PGVERSION=9.3 + - PGVERSION=9.2 + - PGVERSION=9.1 + - PGVERSION=9.0 + +before_script: + - mv conn_config_test.go.travis conn_config_test.go + - psql -U postgres -c 'create database pgx_test' + - "[[ \"${PGVERSION}\" = '9.0' ]] && psql -U postgres -f /usr/share/postgresql/9.0/contrib/hstore.sql pgx_test || psql -U postgres pgx_test -c 'create extension hstore'" + - psql -U postgres -c "create user pgx_ssl SUPERUSER PASSWORD 'secret'" + - psql -U postgres -c "create user pgx_md5 SUPERUSER PASSWORD 'secret'" + - psql -U postgres -c "create user pgx_pw SUPERUSER PASSWORD 'secret'" + +script: + - go test -v -race -cover ./... + +matrix: + allow_failures: + - go: tip + # Remove after issue #63 is fixed + - env: PGVERSION=9.0 + - env: PGVERSION=9.1 diff --git a/conn_config_test.go.travis b/conn_config_test.go.travis new file mode 100644 index 00000000..39da315d --- /dev/null +++ b/conn_config_test.go.travis @@ -0,0 +1,14 @@ +package pgx_test + +import ( + "crypto/tls" + "github.com/jackc/pgx" +) + +var defaultConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_md5", Password: "secret", Database: "pgx_test"} +var tcpConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_md5", Password: "secret", Database: "pgx_test"} +var unixSocketConnConfig = &pgx.ConnConfig{Host: "/var/run/postgresql", User: "postgres", Database: "pgx_test"} +var md5ConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_md5", Password: "secret", Database: "pgx_test"} +var plainPasswordConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_pw", Password: "secret", Database: "pgx_test"} +var invalidUserConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "invalid", Database: "pgx_test"} +var tlsConnConfig = &pgx.ConnConfig{Host: "127.0.0.1", User: "pgx_ssl", Password: "secret", Database: "pgx_test", TLSConfig: &tls.Config{InsecureSkipVerify: true}}