# 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 new ".output memory" # feature. # # 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} { set mapping [list $::testdir/$name $::CLI] set script [string map $mapping { catch {exec :memory: ".read " 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.clitest finish_test