limbo/testing
Pekka Enberg edd45ff7b8 Improve MVCC DX by dropping --experimental-mvcc flag
The DX is right now pretty terrible:

```
penberg@vonneumann turso % cargo run -- hello.db
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.15s
     Running `target/debug/tursodb hello.db`
Turso v0.4.0-pre.18
Enter ".help" for usage hints.
Did you know that Turso supports live materialized views? Type .manual materialized-views to learn more.
This software is in BETA, use caution with production data and ensure you have backups.
turso> PRAGMA journal_mode = 'experimental_mvcc';
  × Invalid argument supplied: MVCC is not enabled. Enable it with `--experimental-mvcc` flag in the CLI or by setting the MVCC option in `DatabaseOpts`

turso>
```

To add insult to the injury, many SDKs don't even have a way to enable
MVCC via database options. Therefore, let's remove the flag altogether.
2025-12-19 12:59:42 +02:00
..
cli_tests Improve MVCC DX by dropping --experimental-mvcc flag 2025-12-19 12:59:42 +02: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
unreliable-libc Add short writes to pwritev in faulty_libc. 2025-10-03 18:35:03 +02:00
wal
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 core/mvcc/cursor: return previous max id 2025-12-15 16:15:36 +01:00
all.test don't rewrite qualified table names 2025-12-16 16:45:40 +05:30
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
changes.test Add 'make test-single' 2025-10-30 11:38:56 +02:00
cmdlineshell.test
coalesce.test
collate.test add tcl tests for collate 2025-12-16 13:11:03 -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
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 feat(hash-join): add hash matching for equivalent integer and real values 2025-12-15 15:25:50 +00:00
json.test fix(json): properly serialize infinite values 2025-12-16 10:15:29 +00:00
like.test Added tests 2025-11-18 22:14:09 +05:30
literal.test
materialized_views.test Fix: Drop internal DBSP table when dropping materialized view 2025-11-08 20:28:20 +01:00
math.test remove mod(x, y) function tests which are "unstable" at the argument boundaries 2025-12-17 14:42:10 +04: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 impl cache spilling in pager 2025-12-17 11:57:34 -05: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
testing_user_version_10.db
time.test
total-changes.test Add 'make test-single' 2025-10-30 11:38:56 +02:00
transactions.test
trigger.test don't rewrite qualified table names 2025-12-16 16:45:40 +05:30
update.test fix(core/util): reject integer primary key underflow 2025-12-16 23:49:08 +00: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.