mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-20 01:44:19 +01:00
There is a distinction between tests that verify extension-specific behavior and those that verify interactions between the database engine and extensions. Previously, both types of tests were kept in `extensions.py`. With this new framework, we can extract the latter type of tests from `extensions.py` into TCL. This cleans up `extensions.py` and enables compatibility testing with SQLite at no extra cost. I’m currently working on supporting outer joins involving TVFs and planning to add more tests that exercise the database’s handling of virtual tables, so I decided to do this refactoring first. In the future, we may consider moving extension-specific tests to TCL as well, especially those that have counterparts in SQLite or sqlean. Reviewed-by: Preston Thorpe <preston@turso.tech> Closes #2556
Turso Testing
Testing Extensions
When adding tests for extensions, please follow these guidelines:
- Tests that verify the internal logic or behavior of a particular extension should go into
cli_tests/extensions.py. - Tests that verify how extensions interact with the database engine, such as virtual table handling, should be written
in TCL (see
vtab.testas an example).
To check which extensions are available in TCL, or to add a new one, refer to the tester.tcl file and look at the extension_map.