testing: Move test harness to tester.tcl

Move the generic test harness part into a separate file.
This commit is contained in:
Pekka Enberg
2024-07-15 08:19:21 +03:00
parent 6febadfcfb
commit 4751820b2b
2 changed files with 26 additions and 24 deletions

View File

@@ -1,29 +1,7 @@
#!/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'"
puts "returned '$actual_output'"
puts "expected '$expected_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
}
set testdir [file dirname $argv0]
source $testdir/tester.tcl
do_execsql_test select-const-1 {
SELECT 1