Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
a35c55c
init test runner with parser and lexer
pedrocarlo Dec 13, 2025
a10af2f
stub backend code + write comparison functions
pedrocarlo Dec 13, 2025
d74489e
create cli backend
pedrocarlo Dec 13, 2025
8e7bfc5
parallelism + runner
pedrocarlo Dec 13, 2025
9891b40
adjust cli and test output
pedrocarlo Dec 13, 2025
6d96f6c
add final docs
pedrocarlo Dec 13, 2025
ad3ae7e
add rust analyzer component
pedrocarlo Dec 13, 2025
364bbc7
modify how we parse blocks + handle in memory databases in differentl…
pedrocarlo Dec 13, 2025
65b0aac
only pass certain cli flags if tursodb is in the cli name
pedrocarlo Dec 13, 2025
aab9708
add databases to separate file
pedrocarlo Dec 13, 2025
68cfa7c
remove whitespace and `|` from error comparisons
pedrocarlo Dec 13, 2025
580bc08
add better error reports with miette
pedrocarlo Dec 14, 2025
71a6195
add raw keyword for expect tests to not trim anything from the block
pedrocarlo Dec 14, 2025
4ccdf34
stream test results
pedrocarlo Dec 14, 2025
e302e84
register time extension
pedrocarlo Dec 14, 2025
044fb46
format duration properly
pedrocarlo Dec 14, 2025
baf0d7b
print db name that failed
pedrocarlo Dec 14, 2025
bbd5d43
remove unused executor file
pedrocarlo Dec 14, 2025
c2db6f8
add test workflows
pedrocarlo Dec 14, 2025
b5c829b
track empty wals for test runner as read only mode requires an existi…
pedrocarlo Dec 14, 2025
b8863ed
databases should be in wal mode
pedrocarlo Dec 14, 2025
4f9b8b7
remove wals
pedrocarlo Dec 15, 2025
2c6d631
validate paths exist before running tests
pedrocarlo Dec 20, 2025
1d2432f
run examples in makefile
pedrocarlo Dec 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions .github/workflows/sqltest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: SQL Tests

on:
workflow_dispatch:
push:
branches: ["main"]
pull_request:
branches: ["main"]

env:
CARGO_TERM_COLOR: always

jobs:
sqltest-check:
name: Check .sqltest syntax
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- uses: useblacksmith/rust-cache@v3
with:
prefix-key: "v1-rust"
- name: Build test runner
run: make -C turso-test-runner build-runner
- name: Check test syntax
run: make -C turso-test-runner check

sqltest-run:
name: Run SQL tests
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 30
steps:
- uses: actions/checkout@v3
- uses: useblacksmith/rust-cache@v3
with:
prefix-key: "v1-rust"
- name: Build tursodb
run: make -C turso-test-runner build-tursodb
- name: Build test runner
run: make -C turso-test-runner build-runner
- name: Run tests
run: make -C turso-test-runner run

sqltest-sqlite:
name: Run SQL tests (SQLite)
runs-on: blacksmith-4vcpu-ubuntu-2404
timeout-minutes: 30
steps:
- uses: actions/checkout@v3
- uses: useblacksmith/rust-cache@v3
with:
prefix-key: "v1-rust"
- uses: "./.github/shared/install_sqlite"
- name: Build test runner
run: make -C turso-test-runner build-runner
- name: Run tests against SQLite
run: make -C turso-test-runner test-sqlite
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,6 @@ bisected.sql
settings.local.json
.claude/agents/
.build-hash

# Track empty wals for read only databases
!turso-test-runner/database/*
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ members = [
"sdk-kit",
"sdk-kit-macros",
]
exclude = ["perf/latency/limbo"]
exclude = ["perf/latency/limbo", "turso-test-runner"]

[workspace.package]
version = "0.4.0-pre.18"
Expand Down
2 changes: 2 additions & 0 deletions core/ext/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,8 @@ impl Database {
crate::uuid::register_extension(&mut ext_api);
#[cfg(feature = "series")]
crate::series::register_extension(&mut ext_api);
#[cfg(feature = "time")]
crate::time::register_extension(&mut ext_api);
#[cfg(feature = "fs")]
{
let vfslist = add_builtin_vfs_extensions(Some(ext_api)).map_err(|e| e.to_string())?;
Expand Down
Loading
Loading