limbo/testing
Jussi Saurio 0887ebef7d
Some checks are pending
Build and push limbo-sim image / deploy (push) Waiting to run
C compat Tests / test (push) Waiting to run
Dart/Flutter / test (blacksmith-4vcpu-ubuntu-2404) (push) Waiting to run
Dart/Flutter / test (windows-latest) (push) Waiting to run
Dart/Flutter / precompile (blacksmith-4vcpu-ubuntu-2404) (push) Waiting to run
Dart/Flutter / precompile (macOS-latest) (push) Waiting to run
Dart/Flutter / precompile (windows-latest) (push) Waiting to run
Dart/Flutter / publish (push) Waiting to run
Run long fuzz tests and stress test / run-fuzz-tests (push) Waiting to run
Run long fuzz tests and stress test / run-long-fuzz-tests (push) Waiting to run
Run long fuzz tests and stress test / simple-stress-test (push) Waiting to run
Build & Publish Go Driver / Build Rust and run Go tests (push) Waiting to run
Build & Publish Go Driver / Publish Go driver (push) Blocked by required conditions
Java Tests / test (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-aarch64-apple-darwin - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-aarch64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-wasm32-wasip1-threads - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-x86_64-pc-windows-msvc - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-x86_64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-aarch64-apple-darwin - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-aarch64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-wasm32-wasip1-threads - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-x86_64-pc-windows-msvc - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-x86_64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / Test DB bindings on Linux-x64-gnu - node@20 (push) Blocked by required conditions
Build & publish @tursodatabase/database / Test DB bindings on browser@20 (push) Blocked by required conditions
Build & publish @tursodatabase/database / Publish (push) Blocked by required conditions
Python / configure-strategy (push) Waiting to run
Python / test (push) Blocked by required conditions
Python / lint (push) Waiting to run
Python / linux (x86_64) (push) Waiting to run
Python / macos-arm64 (aarch64) (push) Waiting to run
Python / sdist (push) Waiting to run
Python / Release (push) Blocked by required conditions
Rust / cargo-fmt-check (push) Waiting to run
Rust / build-native (blacksmith-4vcpu-ubuntu-2404) (push) Waiting to run
Rust / build-native (macos-latest) (push) Waiting to run
Rust / build-native (windows-latest) (push) Waiting to run
Rust / clippy (push) Waiting to run
Rust / simulator (push) Waiting to run
Rust / test-limbo (push) Waiting to run
Rust / test-sqlite (push) Waiting to run
Rust Benchmarks+Nyrkiö / bench (push) Waiting to run
Rust Benchmarks+Nyrkiö / clickbench (push) Waiting to run
Rust Benchmarks+Nyrkiö / tpc-h-criterion (push) Waiting to run
Rust Benchmarks+Nyrkiö / tpc-h (push) Waiting to run
Rust Benchmarks+Nyrkiö / vfs-bench-compile (push) Waiting to run
Merge 'ci: run TCL tests for MVCC under CI' from Pere Diaz Bou
## Description
Run TCL tests for MVCC in the CI. Right now almost everything is
commented out as we need to fix them.
## AI Disclosure
No
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Adds CI step to run MVCC TCL tests via a custom sqlite wrapper with
experimental flags, and narrows the MVCC test suite to known passing
tests.
>
> - **CI**:
>   - Add `Test mvcc` step in `test-limbo` job to run `make test-compat-
mvcc` in `.github/workflows/rust.yml`.
> - **Makefile**:
>   - Update `test-compat-mvcc` to use `SQLITE_EXEC=scripts/turso-mvcc-
sqlite3`.
> - **Test Runner Script** (`scripts/turso-mvcc-sqlite3`):
>   - Enable experimental flags: `--experimental-mvcc`, `--experimental-
views`, `--experimental-strict`.
> - **Tests**:
>   - Define `testing/all-mvcc.test` with a subset of passing test
files; comment out failing ones.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
ee48302e30. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com>

Closes #4178
2025-12-11 23:39:05 +02:00
..
cli_tests Add more py tests for hash joins 2025-12-04 16:09:47 -05:00
javascript fix tests in testing/javascript 2025-09-25 12:07:57 +04:00
sqlancer Add run-sqlancer.sh script to run sqlancer using Turso java bindings 2025-12-11 17:18:11 +02:00
sqlite3 testing/sqlite3: Update all.test 2025-08-02 13:00:18 +03:00
sqlite_test_ext Implement xBestIndex for kvstore.c 2025-08-04 19:25:11 +02:00
test_files CSV import fixes 2025-07-15 16:44:11 +03:00
unreliable-libc Add short writes to pwritev in faulty_libc. 2025-10-03 18:35:03 +02:00
wal testing: Add test database + WAL file 2024-08-03 12:16:34 +03:00
affinity.test Add regression test for rowid affinity 2025-10-02 14:31:22 -04:00
agg-functions.test printf truncates floats 2025-09-28 21:16:33 +05:30
all-mvcc.test ci: run TCL tests for MVCC under CI 2025-12-11 11:57:32 +01:00
all.test Add a truckload of AI-generated TCL tests for RETURNING 2025-11-13 10:32:38 +02:00
alter_column.test feat: alter table disallow generated columns, support foreign keys for alter table 2025-11-08 13:45:17 +05:30
alter_table.test Add regression tcl test for #3886 2025-11-03 09:47:28 -05:00
analyze.test Add/expand tcl tests for analyze 2025-12-09 20:02:07 -05:00
attach.test Add regression test for #3540 attach issue 2025-10-06 21:33:42 -04:00
autoincr.test tcl,makefile: add tcl test infraestructure for mvcc 2025-12-08 18:05:45 +01:00
boolean.test Fix incompatibility AND Expression 2025-04-13 22:38:43 -03:00
changes.test Add 'make test-single' 2025-10-30 11:38:56 +02:00
cmdlineshell.test refactor(testing): move .table tests to shelltests.py 2024-12-18 09:10:37 +02:00
coalesce.test extend TCL tests for COALESCE 2025-02-09 22:01:33 +04:00
collate.test Collate: add more TCL tests 2025-10-02 21:49:33 +03:00
compare.test Add 'make test-single' 2025-10-30 11:38:56 +02:00
concat.test Add 'make test-single' 2025-10-30 11:38:56 +02:00
create_index.test Prevent creating index on rowid pseudo-column 2025-12-06 16:10:51 -05:00
create_table.test Add regression tcl test for #3796 default bool col constraints 2025-10-21 21:22:09 -04:00
default_value.test Add 'make test-single' 2025-10-30 11:38:56 +02:00
delete.test chore: enable indexes by default 2025-08-01 15:44:56 +03:00
drop_index.test Including tests 2025-08-05 21:18:52 -07:00
drop_table.test fix: prevent DROP TABLE when table is referenced by foreign keys 2025-11-04 12:32:19 -03:00
foreign_keys.test dont validate fkey on parent add tests 2025-11-16 09:41:57 +05:30
gen-bigass-database.py add gen-bigass-database.py 2025-09-08 13:05:33 -04:00
gen-database.py ruff lint fix 2025-06-20 15:59:03 -03:00
glob.test Add 'make test-single' 2025-10-30 11:38:56 +02:00
groupby.test fix: result columns have varying binding precedence 2025-09-25 08:07:37 +03:00
insert.test fix: INSERT OR IGNORE with NOT NULL constraint failure 2025-12-11 17:18:11 +02:00
integrity_check.test Add 'make test-single' 2025-10-30 11:38:56 +02:00
join.test Add some additional join tests with nulls for new bloom filter behavior 2025-12-04 16:09:49 -05:00
json.test fix: JSON_INSERT now correctly inserts new keys in nested objects 2025-12-10 13:58:58 -05:00
like.test Added tests 2025-11-18 22:14:09 +05:30
literal.test handle int64 overflow by f64 2025-05-08 22:22:55 +08:00
materialized_views.test Fix: Drop internal DBSP table when dropping materialized view 2025-11-08 20:28:20 +01:00
math.test is_nonnull returns true on 1 / 0 2025-09-17 14:50:15 +07:00
null.test Fix descending index scan returning rows when seek key is NULL 2025-12-08 13:19:58 +02:00
offset.test Fix expected error message 2025-10-15 09:41:44 +03:00
orderby.test Merge branch 'main' into order-by-heap-sort 2025-10-22 11:44:55 +04:00
partial_idx.test Add some tests for UPSERT with partial indexes 2025-09-20 18:32:50 -04:00
pragma.test add some tests 2025-12-05 19:44:28 -03:00
pyproject.toml Add bench-sqlite script and makefile command for benchmarking an I/O backend against sqlite3 2025-08-18 15:11:29 -04:00
README.md Add framework for testing extensions in TCL 2025-08-15 21:06:27 +02:00
returning.test AI-generated tests for DELETE RETURNING 2025-11-14 13:35:24 +02:00
rollback.test chore: enable indexes by default 2025-08-01 15:44:56 +03:00
scalar-functions-datetime.test core(datetime): added implementation of ceiling modifier to datetime 2025-08-23 22:59:08 -05:00
scalar-functions-printf.test Add 'make test-single' 2025-10-30 11:38:56 +02:00
scalar-functions.test Add TCL tests for quote scalar function w/ blob type 2025-11-27 20:59:23 -05:00
select.test add some tests 2025-12-05 19:44:28 -03:00
subquery.test Fix EXISTS on LEFT JOIN null rows 2025-11-04 22:01:18 +07:00
tester.tcl tcl,makefile: add tcl test infraestructure for mvcc 2025-12-08 18:05:45 +01:00
testing.db fix: revert changes on testing dbs 2025-08-11 08:42:08 -03:00
testing_norowidalias.db fix: revert changes on testing dbs 2025-08-11 08:42:08 -03:00
testing_small.db implement is and is not where constraints 2025-01-31 23:01:49 -05:00
testing_user_version_10.db Add read implementation of user_version pragma with ReadCookie opcode 2025-02-07 09:23:48 -05:00
time.test extensions/time: normalize offset_sec 2025-02-19 21:25:14 +08:00
total-changes.test Add 'make test-single' 2025-10-30 11:38:56 +02:00
transactions.test Implement deferred transactions 2025-03-17 10:01:00 -03:00
trigger.test adding tests 2025-11-29 23:04:32 +05:30
update.test Add tcl tests for expr indexes and collation 2025-11-20 12:47:49 -05:00
upsert.test Add tcl tests for expr indexes and collation 2025-11-20 12:47:49 -05:00
values.test tests passing 2025-11-23 13:04:44 +05:30
vector.test added tcl tests 2025-12-06 00:01:17 +05:30
views.test Remove tests that alter testing.db from views.test 2025-10-18 12:05:33 -04:00
vtab.test Extract TVF-related tests to TCL 2025-08-15 21:06:30 +02:00
where.test fix: result columns have varying binding precedence 2025-09-25 08:07:37 +03:00
window.test Add support for window functions 2025-09-13 11:12:44 +02:00

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.test as 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.