mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-24 11:34:21 +01:00
53 lines
1.2 KiB
Tcl
Executable File
53 lines
1.2 KiB
Tcl
Executable File
#!/usr/bin/env tclsh
|
|
|
|
set sqlite_exec [expr {[info exists env(SQLITE_EXEC)] ? $env(SQLITE_EXEC) : "sqlite3"}]
|
|
|
|
proc evaluate_sql {sqlite_exec sql} {
|
|
set command [list $sqlite_exec testing/testing.db $sql]
|
|
set output [exec {*}$command]
|
|
return $output
|
|
}
|
|
|
|
proc run_test {sqlite_exec sql expected_output} {
|
|
set actual_output [evaluate_sql $sqlite_exec $sql]
|
|
if {$actual_output ne $expected_output} {
|
|
puts "Test FAILED: '$sql' returned '$actual_output'"
|
|
exit 1
|
|
}
|
|
}
|
|
|
|
proc do_execsql_test {test_name sql_statements expected_outputs} {
|
|
puts "Running test: $test_name"
|
|
set combined_sql [join $sql_statements " "]
|
|
set combined_expected_output [join $expected_outputs "\n"]
|
|
run_test $::sqlite_exec $combined_sql $combined_expected_output
|
|
}
|
|
|
|
do_execsql_test select-const-1 {
|
|
SELECT 1
|
|
} {1}
|
|
|
|
do_execsql_test select-const-2 {
|
|
SELECT 2
|
|
} {2}
|
|
|
|
do_execsql_test select-avg {
|
|
SELECT avg(age) FROM users;
|
|
} {50.4649}
|
|
|
|
do_execsql_test select-sum {
|
|
SELECT sum(age) FROM users;
|
|
} {504649}
|
|
|
|
do_execsql_test select-limit {
|
|
SELECT id FROM users LIMIT 1;
|
|
} {1}
|
|
|
|
do_execsql_test select-limit-0 {
|
|
SELECT id FROM users LIMIT 0;
|
|
} {}
|
|
|
|
do_execsql_test pragma-cache-size {
|
|
PRAGMA cache_size
|
|
} {-2000}
|