sqlx/tests
Atkins 9f7205e80f
Fix GitHub Actions and integration test (#1346)
* fix test suite

* rustfmt

* need Row

* test: fix integration test scripts and update the upstream supported databases

Signed-off-by: Atkins Chang <atkinschang@gmail.com>

* ci(actions): update supported databases

Signed-off-by: Atkins Chang <atkinschang@gmail.com>

* ci(actions): use `pg_isready` instead of `sleep` to avoid error cause by database not ready

Signed-off-by: Atkins Chang <atkinschang@gmail.com>

* feat(core): add `trait PgConnectionInfo` for connection parameter status from server

Signed-off-by: Atkins Chang <atkinschang@gmail.com>

* test(postgres): fix integration test for postgres

Signed-off-by: Atkins Chang <atkinschang@gmail.com>

* test(mysql): fix integration tests

Signed-off-by: Atkins Chang <atkinschang@gmail.com>

* ci(actions): test database against the oldest and newest supported versions

Signed-off-by: Atkins Chang <atkinschang@gmail.com>

* docs(core): document `trait PgConnectionInfo`

Signed-off-by: Atkins Chang <atkinschang@gmail.com>

Co-authored-by: Montana Low <montanalow@gmail.com>
2021-07-28 14:00:34 -07:00
..
any fix(pool): always ping connection on release to see if it's still viable 2021-02-27 00:56:08 -08:00
certs update todo examples to 0.4 and use migrations 2020-07-18 05:43:16 -07:00
keys update todo examples to 0.4 and use migrations 2020-07-18 05:43:16 -07:00
migrate fix(macros): tell the compiler about external files/env vars to watch (#1332) 2021-07-21 16:36:22 -07:00
mssql Fix GitHub Actions and integration test (#1346) 2021-07-28 14:00:34 -07:00
mysql Fix GitHub Actions and integration test (#1346) 2021-07-28 14:00:34 -07:00
postgres Fix GitHub Actions and integration test (#1346) 2021-07-28 14:00:34 -07:00
sqlite Fix GitHub Actions and integration test (#1346) 2021-07-28 14:00:34 -07:00
ui Update some postgres trybuild tests 2021-01-12 03:39:10 -08:00
.dockerignore feat(mssql): fix a few bugs and implement Connection::describe 2020-06-07 02:00:31 -07:00
.env feat: introduce docker-compose based testing for running locally against many database combinations 2020-05-30 17:51:55 -07:00
.gitignore update todo examples to 0.4 and use migrations 2020-07-18 05:43:16 -07:00
docker-compose.yml Fix GitHub Actions and integration test (#1346) 2021-07-28 14:00:34 -07:00
docker.py Fix GitHub Actions and integration test (#1346) 2021-07-28 14:00:34 -07:00
README.md Fix GitHub Actions and integration test (#1346) 2021-07-28 14:00:34 -07:00
ui-tests.rs feat: introduce docker-compose based testing for running locally against many database combinations 2020-05-30 17:51:55 -07:00
x.py Fix GitHub Actions and integration test (#1346) 2021-07-28 14:00:34 -07:00

Running Tests

SQLx uses docker to run many compatible database systems for integration testing. You'll need to install docker to run the full suite. You can validate your docker installation with:

$ docker run hello-world

Start the databases with docker-compose before running tests:

$ docker-compose up

Run all tests against all supported databases using:

$ ./x.py

If you see test failures, or want to run a more specific set of tests against a specific database, you can specify both the features to be tests and the DATABASE_URL. e.g.

$ DATABASE_URL=mysql://root:password@127.0.0.1:49183/sqlx cargo test --no-default-features --features macros,offline,any,all-types,mysql,runtime-async-std-native-tls