sqlx/tests
Feike Steenbergen 17d832b3de
PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction (#3138)
* Include test case for regular subtransactions

While using COPY and subtransactions I kept running into errors.
This test case documents that error, it currently fails with:

    Error: encountered unexpected or invalid data: expecting ParseComplete but received CommandComplete

* PostgreSQL Copy: Consume ReadyForQuery on error

When a COPY statement was in error inside a subtransaction,
a Protocol Error used to be raised. By consuming the ReadyForQuery
message when there is an error, we no longer have this issue.
2024-04-19 15:45:05 -07:00
..
any fix(tests): extend fresh-connection threshold 2024-03-22 15:50:54 -07:00
certs Add client SSL authentication using key-file for Postgres, MySQL and MariaDB (#1850) 2023-02-21 13:25:25 -08:00
fixtures Add fixtures_path in sqlx::test args (#2545) 2023-11-15 16:08:24 -08:00
keys Add client SSL authentication using key-file for Postgres, MySQL and MariaDB (#1850) 2023-02-21 13:25:25 -08:00
migrate Traverse symlinks when resolving migrations (#2445) 2023-06-13 11:21:09 -07:00
mssql fix: mssql uses unsigned for tinyint instead of signed (#2074) 2022-08-31 18:10:29 -07:00
mysql feat: add MySqlTime, audit mysql::types for panics (#3154) 2024-03-30 11:49:12 -07:00
postgres PostgreSQL Bugfix: Ensure connection is usable after failed COPY inside a transaction (#3138) 2024-04-19 15:45:05 -07:00
sqlite breaking(sqlite): always use i64 as intermediate when decoding (#3184) 2024-04-13 16:59:13 -07:00
ui Clarify where optional features should be enabled (#2706) 2023-09-21 17:49:51 -07:00
.dockerignore Add client SSL authentication using key-file for Postgres, MySQL and MariaDB (#1850) 2023-02-21 13:25:25 -08: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 Bump mariadb CI images + mysql unpin (#2739) 2023-09-11 19:19:28 -07:00
docker.py Is tests/x.py maintained? And I tried fix it. (#2754) 2023-10-19 14:54:01 -07:00
README.md Fix GitHub Actions and integration test (#1346) 2021-07-28 14:00:34 -07:00
ui-tests.rs chore: replace dotenv with dotenvy (#2003) 2022-07-28 14:33:44 -07:00
x.py Is tests/x.py maintained? And I tried fix it. (#2754) 2023-10-19 14:54:01 -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