sqlx/tests
tyrelr 5378dea6af Sqlite describe fixes (#2253)
* add failing test for nested orderby

* log query paths which were abandoned due to invalid state or looping.  Allow instructions to be executed a small number of times to fix nested order by query

* add failing testcase using nested orderby

* fix handling of sequence/offset and rewind

* fix handling when sqlite nests records inside of records

* add test of temporary table handling

* WIP add test failure for temp table access

* fix support for temp tables

* add tests for sqlite datetime functions

* add basic date and time function support

* handle gosub opcode correctly

* add group by test

* fix group by handling

* add additional passing group by test

* add test case for simple limit query

* fix IfPos & If touching wrong branches state, fix IfPos using wrong branch criteria

* add test for large offsets

* add short-circuit for possible query offset loops

* add groupby query that is predicted incorrectly

* fix handling of integer cast failures

* add tests for single-row aggregate results

* fix handling of null-based branching

* add test for coercion of text by sum

* fix calculation of sum value coercion

* add failing test for recursive with query

* add logic for delete operation to fix queries grouping by columns from a recursive query
2023-02-21 13:25:25 -08:00
..
any Break drivers out into separate crates, clean up some technical debt (#2039) 2023-02-21 13:25:25 -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: ensure migration progress is not lost for PG, mysql and sqlite (#1991) 2022-09-12 17:52:04 -07:00
mssql fix: mssql uses unsigned for tinyint instead of signed (#2074) 2022-08-31 18:10:29 -07:00
mysql Break drivers out into separate crates, clean up some technical debt (#2039) 2023-02-21 13:25:25 -08:00
postgres Break drivers out into separate crates, clean up some technical debt (#2039) 2023-02-21 13:25:25 -08:00
sqlite Sqlite describe fixes (#2253) 2023-02-21 13:25:25 -08: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 feat: implement testing utilities (#2001) 2022-08-02 14:38:12 -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 chore: replace dotenv with dotenvy (#2003) 2022-07-28 14:33:44 -07:00
x.py Add extension support for SQLite (#2062) 2022-09-01 15:03:27 -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