diff --git a/.travis.yml b/.travis.yml index dd52b5255048268a91a4d0d8a66f3ecf35292f08..e128d53981499f13821fada985979656f5d66f8f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,10 +5,6 @@ go: - 1.2 - 1.2.1 -addons: - hosts: - - testserver.local - env: - GOARCH=amd64 @@ -27,12 +23,12 @@ services: before_script: - cat mysql/_dumps/setup.sql | mysql -uroot - - cat mysql/_dumps/structs.sql | mysql -uupperio -pupperio upperio_tests -htestserver.local + - cat mysql/_dumps/structs.sql | mysql -uupperio -pupperio upperio_tests - cat postgresql/_dumps/setup.sql | psql -U postgres - - cat postgresql/_dumps/structs.sql | PGPASSWORD="upperio" psql -U upperio upperio_tests -htestserver.local + - cat postgresql/_dumps/structs.sql | PGPASSWORD="upperio" psql -U upperio upperio_tests - mongo upperio_tests --eval 'db.addUser("upperio", "upperio")' # - cat ql/_dumps/structs.sql | $GOPATH/bin/ql -db ql/_dumps/test.db script: - go version - - go test + - go test -host 127.0.0.1 diff --git a/db_test.go b/db_test.go index e0b246459b6b155636996fefa5f9c823c2eaba3e..0ffdf03bc5972fadc2c5866489b0244b8f8580f0 100644 --- a/db_test.go +++ b/db_test.go @@ -3,7 +3,9 @@ package db_test import ( "database/sql" "errors" + "flag" "labix.org/v2/mgo" + "log" "reflect" "testing" "time" @@ -27,31 +29,44 @@ var ( errDriverErr = errors.New(`Driver error`) ) -var settings = map[string]*db.Settings{ - `sqlite`: &db.Settings{ - Database: `upperio_tests.db`, - }, - `mongo`: &db.Settings{ - Database: `upperio_tests`, - Host: `testserver.local`, - User: `upperio`, - Password: `upperio`, - }, - `mysql`: &db.Settings{ - Database: `upperio_tests`, - Host: `testserver.local`, - User: `upperio`, - Password: `upperio`, - }, - `postgresql`: &db.Settings{ - Database: `upperio_tests`, - Host: `testserver.local`, - User: `upperio`, - Password: `upperio`, - }, - `ql`: &db.Settings{ - Database: `file://upperio_test.ql`, - }, +var settings map[string]*db.Settings + +func init() { + + // Getting host from the environment. + host := flag.String("host", "testserver.local", "Testing server address.") + + flag.Parse() + + log.Printf("Running tests against host %s.\n", *host) + + settings = map[string]*db.Settings{ + `sqlite`: &db.Settings{ + Database: `upperio_tests.db`, + }, + `mongo`: &db.Settings{ + Database: `upperio_tests`, + Host: *host, + User: `upperio`, + Password: `upperio`, + }, + `mysql`: &db.Settings{ + Database: `upperio_tests`, + Host: *host, + User: `upperio`, + Password: `upperio`, + }, + `postgresql`: &db.Settings{ + Database: `upperio_tests`, + Host: *host, + User: `upperio`, + Password: `upperio`, + }, + `ql`: &db.Settings{ + Database: `file://upperio_test.ql`, + }, + } + } var setupFn = map[string]func(driver interface{}) error{