| Crates.io | duckdb-slt |
| lib.rs | duckdb-slt |
| version | 0.1.2 |
| created_at | 2026-01-24 00:28:01.944625+00 |
| updated_at | 2026-01-24 18:31:44.565857+00 |
| description | Command-line sqllogictest runner for DuckDB. |
| homepage | https://github.com/dotneB/duckdb-sqllogictest-rs |
| repository | https://github.com/dotneB/duckdb-sqllogictest-rs |
| max_upload_size | |
| id | 2065781 |
| size | 467,491 |
Command-line sqllogictest runner for DuckDB.
cargo install duckdb-slt
Or using binary install:
cargo binstall duckdb-slt
Run one or more sqllogictest files:
duckdb-slt tests/fixtures/pass.slt
duckdb-slt suite/a.slt suite/b.slt
Run using a glob pattern
duckdb-slt "tests/fixtures/pass*.slt"
Set a working directory for resolving relative paths:
duckdb-slt --workdir suite tests/a.slt
Enable extensions before running tests:
duckdb-slt --extensions json tests/fixtures/pass.slt
Short forms:
duckdb-slt -e json -w suite tests/fixtures/pass.slt
Run an extension's integration tests (example extension: quack):
duckdb-slt.exe -e ./target/release/quack.duckdb_extension -u -w "$(CURDIR)" "$(CURDIR)/test/sql/*.test"
Show help and version:
duckdb-slt --help
duckdb-slt --version
Options:
--db <PATH>: DuckDB database file path (defaults to in-memory)-u, --allow-unsigned-extensions: allow loading unsigned DuckDB extensions (risky; opt-in)-e, --extensions <EXT>: enable extensions before running tests (repeatable)-w, --workdir <DIR>: set working directory before resolving relative paths--fail-fast: stop after the first test mismatchEach --extensions <EXT> entry runs INSTALL then LOAD, in command-line order.
Supported forms:
json (name)spatial@community (named repository)custom_extension@https://my-extension-repo.example (custom repository URL)path/to/ext.duckdb_extension (local extension file)Compared to duckdb-sqllogictest-python, an important difference is that duckdb-slt does not support the require keyword (for example require quack). If you want to run the same test files with duckdb-slt, those require ... lines need to be commented out.
0: all tests passed2: at least one test failed due to an expectation mismatch1: runtime error (I/O error, DuckDB error, invalid configuration, invalid CLI usage)MIT. See LICENSE.