sqlx/tests
Austin Bonander 4fc5b30d65
breaking: fix name collision in FromRow, return Error::ColumnDecode for TryFrom errors (#3356)
* chore: create regression test for #3344

* fix(derives): use a parameter name that's less likely to collide

* breaking(derives): emit `Error::ColumnDecode` when a `TryFrom` conversion fails in `FromRow`

Breaking because `#[sqlx(default)]` on an individual field or the struct itself would have previously suppressed the error. This doesn't seem like good behavior as it could result in some potentially very difficult bugs.

Instead of using `TryFrom` for these fields, just implement `From` and apply the default explicitly.

* fix: run `cargo fmt`

* fix: use correct field in `ColumnDecode`
2024-07-19 23:03:47 -07:00
..
any fix: ignore flaky test_connection_maintenance test 2024-06-13 13:11:36 -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 fix(postgres): add missing type resolution for arrays by name 2024-07-08 00:14:19 -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 breaking: fix name collision in FromRow, return Error::ColumnDecode for TryFrom errors (#3356) 2024-07-19 23:03:47 -07:00
sqlite feat: Add set_update_hook on SqliteConnection (#3260) 2024-06-05 19:06:15 -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 fix: add mariadb:11.4 to tests/docker-compose.yml 2024-06-13 13:11:36 -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