From 987a8bfb5d166807c1f7091d26b1c175112dc7ec Mon Sep 17 00:00:00 2001 From: jussisaurio Date: Sat, 14 Dec 2024 17:13:45 +0200 Subject: [PATCH] Run all tcl tests on 2 separate dbs (1. with rowid aliases 2. without rowid aliases) --- testing/cmdlineshell.test | 58 +++++++++++++++++++++++++++++--- testing/tester.tcl | 22 ++++++++---- testing/testing_norowidalias.db | Bin 0 -> 2564096 bytes 3 files changed, 69 insertions(+), 11 deletions(-) create mode 100644 testing/testing_norowidalias.db diff --git a/testing/cmdlineshell.test b/testing/cmdlineshell.test index f1c6f026..bb4183bc 100755 --- a/testing/cmdlineshell.test +++ b/testing/cmdlineshell.test @@ -3,7 +3,7 @@ set testdir [file dirname $argv0] source $testdir/tester.tcl -do_execsql_test schema { +do_execsql_test_on_specific_db testing/testing.db schema { .schema } {"CREATE TABLE users ( id INTEGER PRIMARY KEY, @@ -24,7 +24,29 @@ CREATE TABLE products ( ); CREATE INDEX age_idx on users (age);"} -do_execsql_test schema-1 { +# FIXME sqlite does something different with .schema than what we are doing +#do_execsql_test_on_specific_db testing/testing_norowidalias.db schema { +# .schema +#} {"CREATE TABLE IF NOT EXISTS users ( +# id INT PRIMARY KEY, +# first_name TEXT, +# last_name TEXT, +# email TEXT, +# phone_number TEXT, +# address TEXT, +# city TEXT, +# state TEXT, +# zipcode TEXT, +# age INTEGER +# ); +#CREATE TABLE IF NOT EXISTS products ( +# id INT PRIMARY KEY, +# name TEXT, +# price REAL +# ); +#CREATE INDEX age_idx2 on users (age);"} + +do_execsql_test_on_specific_db testing/testing.db schema-1 { .schema users } {"CREATE TABLE users ( id INTEGER PRIMARY KEY, @@ -40,10 +62,36 @@ do_execsql_test schema-1 { ); CREATE INDEX age_idx on users (age);"} -do_execsql_test schema-2 { +# FIXME sqlite does something different with .schema than what we are doing +#do_execsql_test_on_specific_db testing/testing_norowidalias.db schema-1 { +# .schema users +#} {"CREATE TABLE IF NOT EXISTS users ( +# id INT PRIMARY KEY, +# first_name TEXT, +# last_name TEXT, +# email TEXT, +# phone_number TEXT, +# address TEXT, +# city TEXT, +# state TEXT, +# zipcode TEXT, +# age INTEGER +# ); +#CREATE INDEX age_idx2 on users (age);"} + +do_execsql_test_on_specific_db testing/testing.db schema-2 { .schema products -} {{CREATE TABLE products ( +} {"CREATE TABLE products ( id INTEGER PRIMARY KEY, name TEXT, price REAL - );}} + );"} + +# FIXME sqlite does something different with .schema than what we are doing +#do_execsql_test_on_specific_db testing/testing_norowidalias.db schema-2 { +# .schema products +#} {"CREATE TABLE IF NOT EXISTS products ( +# id INT PRIMARY KEY, +# name TEXT, +# price REAL +# );"} diff --git a/testing/tester.tcl b/testing/tester.tcl index 5a9eaab3..5ccb2165 100644 --- a/testing/tester.tcl +++ b/testing/tester.tcl @@ -1,13 +1,14 @@ set sqlite_exec [expr {[info exists env(SQLITE_EXEC)] ? $env(SQLITE_EXEC) : "sqlite3"}] +set test_dbs [list "testing/testing.db" "testing/testing_norowidalias.db"] -proc evaluate_sql {sqlite_exec sql} { - set command [list $sqlite_exec testing/testing.db $sql] +proc evaluate_sql {sqlite_exec db_name sql} { + set command [list $sqlite_exec $db_name $sql] set output [exec {*}$command] return $output } -proc run_test {sqlite_exec sql expected_output} { - set actual_output [evaluate_sql $sqlite_exec $sql] +proc run_test {sqlite_exec db_name sql expected_output} { + set actual_output [evaluate_sql $sqlite_exec $db_name $sql] if {$actual_output ne $expected_output} { puts "Test FAILED: '$sql'" puts "returned '$actual_output'" @@ -17,8 +18,17 @@ proc run_test {sqlite_exec sql expected_output} { } proc do_execsql_test {test_name sql_statements expected_outputs} { - puts "Running test: $test_name" + foreach db $::test_dbs { + puts [format "(%s) %s Running test: %s" $db [string repeat " " [expr {40 - [string length $db]}]] $test_name] + set combined_sql [string trim $sql_statements] + set combined_expected_output [join $expected_outputs "\n"] + run_test $::sqlite_exec $db $combined_sql $combined_expected_output + } +} + +proc do_execsql_test_on_specific_db {db_name test_name sql_statements expected_outputs} { + puts [format "(%s) %s Running test: %s" $db_name [string repeat " " [expr {40 - [string length $db_name]}]] $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 + run_test $::sqlite_exec $db_name $combined_sql $combined_expected_output } diff --git a/testing/testing_norowidalias.db b/testing/testing_norowidalias.db new file mode 100644 index 0000000000000000000000000000000000000000..903149b2234c47e5856c95a9210ec77ea9cb356a GIT binary patch literal 2564096 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 mFdKX?sBdUAv}Us+aS+8~ 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�>z0^W8w7ywHw;FP8XpGPMgi$r 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