1
0
mirror of https://github.com/sqlite/sqlite.git synced 2026-10-23 21:49:02 +03:00
Files
sqlite/test/shellB.test
drh 67cfb59334 Fix the sha1() extension function so that it interprets zero-length
BLOBs as BLOBs and not as NULL.  Also add a few test cases for that
extension function, which was previously completely untested.
[bugs:/info/2026-07-29T06:31:41Z|Bug 2026-07-29T06:31:41Z].

FossilOrigin-Name: 978d12de384fef985d0363633566304bb20f452dfe8ceb836ca1d353a135f30a
2026-07-29 10:28:44 +00:00

58 lines
1.6 KiB
Plaintext

# 2025-11-12
#
# The author disclaims copyright to this source code. In place of
# a legal notice, here is a blessing:
#
# May you do good and not evil.
# May you find forgiveness for yourself and forgive others.
# May you share freely, never taking more than you give.
#
#***********************************************************************
# TESTRUNNER: shell
#
# Test cases for the command-line shell using the newly renovated
# ".testcase" and ".check" commands.
#
set testdir [file dirname $argv0]
source $testdir/tester.tcl
set CLI [test_cli_invocation]
# Run an instance of the CLI on the file $name.
# Capture the number of test cases and the number of
# errors and increment the counts.
#
proc do_clitest {name args} {
set mapping [list <NAME> $::testdir/$name <CLI> $::CLI <ARGS> $args]
set script [string map $mapping {
catch {exec <CLI> <ARGS> :memory: ".read <NAME>" 2>@stdout} res
set ntest 0
set nerr 999
regexp {(\d+) tests? run with (\d+) errors?} $res all ntest nerr
set_test_counter count [expr {[set_test_counter count]+$ntest-1}]
set_test_counter errors [expr {[set_test_counter errors]+$nerr}]
if {$nerr==0} {set res "error count: 0"}
set res
}]
# puts $script
do_test shellB-$name $script {error count: 0}
}
do_clitest modeA.sql
do_clitest dblwidth-a.sql
do_clitest vt100-a.sql
do_clitest regexp1.sql
do_clitest imposter1.sql
do_clitest sha1.sql
ifcapable vtab {
do_clitest dotcmd01.sql
do_clitest import01.sql
do_clitest intck01.sql --unsafe-testing
}
do_clitest fptest01.sql
unset -nocomplain ::env(SQLITE_PS1)
unset -nocomplain ::env(SQLITE_PS2)
do_clitest shell-prompt.sql
finish_test