Add framework for testing extensions in TCL

There is a distinction between tests that verify extension-specific
behavior and tests 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 provides
compatibility testing with SQLite at no extra cost.

To demonstrate the framework’s usage, tests verifying the handling of
virtual tables were extracted to TCL.

In the future, we may consider moving extension-specific tests to TCL as
well, especially those that have counterparts in SQLite or sqlean.
This commit is contained in:
Piotr Rzysko
2025-08-11 20:42:41 +02:00
parent 116673c2e5
commit 20ea079679
7 changed files with 293 additions and 232 deletions

View File

@@ -86,5 +86,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- uses: "./.github/shared/install_sqlite"
- name: build SQLite test extensions
run: cargo build --package limbo_sqlite_test_ext
- name: Test
run: SQLITE_EXEC="sqlite3" make test-compat