This commit is contained in:
Kim Seon Woo
2024-08-17 21:56:35 +09:00
parent 78817d3804
commit c6402aa341
3 changed files with 61 additions and 6 deletions

View File

@@ -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
View 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;
}

View File

@@ -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
}