mirror of
https://github.com/aljazceru/turso.git
synced 2026-02-18 06:24:56 +01:00
Add tcl
This commit is contained in:
@@ -6,10 +6,12 @@ source $testdir/cmdlineshell.test
|
||||
source $testdir/agg-functions.test
|
||||
source $testdir/coalesce.test
|
||||
source $testdir/join.test
|
||||
source $testdir/pragma.test
|
||||
source $testdir/select.test
|
||||
source $testdir/where.test
|
||||
source $testdir/like.test
|
||||
source $testdir/scalar-functions.test
|
||||
source $testdir/orderby.test
|
||||
source $testdir/insert.test
|
||||
source $testdir/join.test
|
||||
source $testdir/json.test
|
||||
source $testdir/like.test
|
||||
source $testdir/orderby.test
|
||||
source $testdir/pragma.test
|
||||
source $testdir/scalar-functions.test
|
||||
source $testdir/select.test
|
||||
source $testdir/where.test
|
||||
17
testing/insert.test
Executable file
17
testing/insert.test
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env tclsh
|
||||
|
||||
set testdir [file dirname $argv0]
|
||||
source $testdir/tester.tcl
|
||||
|
||||
do_execsql_check_err_msg insert-1.1 {
|
||||
INSERT INTO test1 VALUES(1,2,3);
|
||||
} {Error: in prepare, no such table: test1}
|
||||
|
||||
do_execsql_with_cleanup_test insert-1.2 {
|
||||
CREATE TABLE test1(one int, two int, three int);
|
||||
INSERT INTO test1 VALUES(1, 2, 3);
|
||||
SELECT * FROM test1;
|
||||
} {1|2|3} {
|
||||
DROP TABLE IF EXISTS test1;
|
||||
}
|
||||
|
||||
@@ -16,9 +16,45 @@ proc run_test {sqlite_exec sql expected_output} {
|
||||
}
|
||||
}
|
||||
|
||||
proc run_failing_test {sqlite_exec sql expected_err_msg} {
|
||||
set actual_output [catch {set actual_output [evaluate_sql $sqlite_exec $sql]} err_msg]
|
||||
if {$err_msg ne $expected_err_msg} {
|
||||
puts "Test FAILED: '$sql'"
|
||||
puts "returned '$err_msg'"
|
||||
puts "expected '$expected_err_msg'"
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
proc run_test_with_cleanup {sqlite_exec sql expected_output cleanup_sql} {
|
||||
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'"
|
||||
evaluate_sql $sqlite_exec $cleanup_sql
|
||||
exit 1
|
||||
}
|
||||
evaluate_sql $sqlite_exec $cleanup_sql
|
||||
}
|
||||
|
||||
proc do_execsql_test {test_name sql_statements expected_outputs} {
|
||||
puts "Running test: $test_name"
|
||||
set combined_sql [string trim $sql_statements]
|
||||
set combined_expected_output [join $expected_outputs "\n"]
|
||||
run_test $::sqlite_exec $combined_sql $combined_expected_output
|
||||
}
|
||||
|
||||
proc do_execsql_check_err_msg {test_name sql_statements expected_err_msg} {
|
||||
puts "Running test: $test_name"
|
||||
set combined_sql [string trim $sql_statements]
|
||||
run_failing_test $::sqlite_exec $combined_sql $expected_err_msg
|
||||
}
|
||||
|
||||
proc do_execsql_with_cleanup_test {test_name sql_statements expected_outputs cleanup_statements} {
|
||||
puts "Running test: $test_name"
|
||||
set combined_sql [string trim $sql_statements]
|
||||
set combined_expected_output [join $expected_outputs "\n"]
|
||||
set combined_cleanup [string trim $cleanup_statements]
|
||||
run_test_with_cleanup $::sqlite_exec $combined_sql $combined_expected_output $combined_cleanup
|
||||
}
|
||||
Reference in New Issue
Block a user