⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.tcl

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 TCL
📖 第 1 页 / 共 3 页
字号:
# See the file LICENSE for redistribution information.## Copyright (c) 1996-2002#	Sleepycat Software.  All rights reserved.## $Id: test.tcl,v 11.225 2002/09/10 18:51:38 sue Exp $source ./include.tcl# Load DB's TCL API.load $tcllibif { [file exists $testdir] != 1 } {	file mkdir $testdir}global __debug_printglobal __debug_onglobal __debug_testglobal util_path## Test if utilities work to figure out the path.  Most systems# use ., but QNX has a problem with execvp of shell scripts which# causes it to break.#set stat [catch {exec ./db_printlog -?} ret]if { [string first "exec format error" $ret] != -1 } {	set util_path ./.libs} else {	set util_path .}set __debug_print 0set encrypt 0set old_encrypt 0set passwd test_passwd# This is where the test numbering and parameters now live.source $test_path/testparams.tcl# Error stream that (should!) always go to the console, even if we're# redirecting to ALL.OUT.set consoleerr stderrforeach sub $subs {	if { [info exists num_test($sub)] != 1 } {		puts stderr "Subsystem $sub has no number of tests specified in\		    testparams.tcl; skipping."		continue	}	set end $num_test($sub)	for { set i 1 } { $i <= $end } {incr i} {		set name [format "%s%03d.tcl" $sub $i]		source $test_path/$name	}}source $test_path/archive.tclsource $test_path/byteorder.tclsource $test_path/dbm.tclsource $test_path/hsearch.tclsource $test_path/join.tclsource $test_path/logtrack.tclsource $test_path/ndbm.tclsource $test_path/parallel.tclsource $test_path/reputils.tclsource $test_path/sdbutils.tclsource $test_path/shelltest.tclsource $test_path/sindex.tclsource $test_path/testutils.tclsource $test_path/upgrade.tclset dict $test_path/wordlistset alphabet "abcdefghijklmnopqrstuvwxyz"set datastr "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"# Random number seed.global rand_initset rand_init 101301# Default record length and padding character for# fixed record length access method(s)set fixed_len 20set fixed_pad 0set recd_debug	0set log_log_record_types 0set ohandles {}# Normally, we're not running an all-tests-in-one-env run.  This matters# for error stream/error prefix settings in berkdb_open.global is_envmethodset is_envmethod 0# For testing locker id wrap around.global lock_curidglobal lock_maxidset lock_curid 0set lock_maxid 2147483647global txn_curidglobal txn_maxidset txn_curid 2147483648set txn_maxid 4294967295# Set up any OS-specific valuesglobal tcl_platformset is_windows_test [is_substr $tcl_platform(os) "Win"]set is_hp_test [is_substr $tcl_platform(os) "HP-UX"]set is_qnx_test [is_substr $tcl_platform(os) "QNX"]# From here on out, test.tcl contains the procs that are used to# run all or part of the test suite.proc run_std { args } {	global num_test	source ./include.tcl	set exflgs [eval extractflags $args]	set args [lindex $exflgs 0]	set flags [lindex $exflgs 1]	set display 1	set run 1	set am_only 0	set no_am 0	set std_only 1	set rflags {--}	foreach f $flags {		switch $f {			A {				set std_only 0			}			M {				set no_am 1				puts "run_std: all but access method tests."			}			m {				set am_only 1				puts "run_std: access method tests only."			}			n {				set display 1				set run 0				set rflags [linsert $rflags 0 "-n"]			}		}	}	if { $std_only == 1 } {		fileremove -f ALL.OUT		set o [open ALL.OUT a]		if { $run == 1 } {			puts -nonewline "Test suite run started at: "			puts [clock format [clock seconds] -format "%H:%M %D"]			puts [berkdb version -string]			puts -nonewline $o "Test suite run started at: "			puts $o [clock format [clock seconds] -format "%H:%M %D"]			puts $o [berkdb version -string]		}		close $o	}	set test_list {	{"environment"		"env"}	{"archive"		"archive"}	{"locking"		"lock"}	{"logging"		"log"}	{"memory pool"		"memp"}	{"mutex"		"mutex"}	{"transaction"		"txn"}	{"deadlock detection"	"dead"}	{"subdatabase"		"sdb"}	{"byte-order"		"byte"}	{"recno backing file"	"rsrc"}	{"DBM interface"	"dbm"}	{"NDBM interface"	"ndbm"}	{"Hsearch interface"	"hsearch"}	{"secondary index"	"sindex"}	}	if { $am_only == 0 } {		foreach pair $test_list {			set msg [lindex $pair 0]			set cmd [lindex $pair 1]			puts "Running $msg tests"			if [catch {exec $tclsh_path \			    << "source $test_path/test.tcl; r $rflags $cmd" \			    >>& ALL.OUT } res] {				set o [open ALL.OUT a]				puts $o "FAIL: $cmd test"				close $o			}		}		# Run recovery tests.		#		# XXX These too are broken into separate tclsh instantiations		# so we don't require so much memory, but I think it's cleaner		# and more useful to do it down inside proc r than here,		# since "r recd" gets done a lot and needs to work.		#		# Note that we still wrap the test in an exec so that		# its output goes to ALL.OUT.  run_recd will wrap each test		# so that both error streams go to stdout (which here goes		# to ALL.OUT);  information that run_recd wishes to print		# to the "real" stderr, but outside the wrapping for each test,		# such as which tests are being skipped, it can still send to		# stderr.		puts "Running recovery tests"		if [catch {		    exec $tclsh_path \			<< "source $test_path/test.tcl; r $rflags recd" \			2>@ stderr >> ALL.OUT		    } res] {			set o [open ALL.OUT a]			puts $o "FAIL: recd tests"			close $o		}		# Run join test		#		# XXX		# Broken up into separate tclsh instantiations so we don't		# require so much memory.		puts "Running join test"		foreach i "join1 join2 join3 join4 join5 join6" {			if [catch {exec $tclsh_path \			    << "source $test_path/test.tcl; r $rflags $i" \			    >>& ALL.OUT } res] {				set o [open ALL.OUT a]				puts $o "FAIL: $i test"				close $o			}		}	}	if { $no_am == 0 } {		# Access method tests.		#		# XXX		# Broken up into separate tclsh instantiations so we don't		# require so much memory.		foreach i \		    "btree hash queue queueext recno rbtree frecno rrecno" {			puts "Running $i tests"			for { set j 1 } { $j <= $num_test(test) } {incr j} {				if { $run == 0 } {					set o [open ALL.OUT a]					run_method -$i $j $j $display $run $o					close $o				}				if { $run } {					if [catch {exec $tclsh_path \					    << "source $test_path/test.tcl; \					    run_method -$i $j $j $display $run"\					    >>& ALL.OUT } res] {						set o [open ALL.OUT a]						puts $o "FAIL:\						    [format "test%03d" $j] $i"						close $o					}				}			}		}	}	# If not actually running, no need to check for failure.	# If running in the context of the larger 'run_all' we don't	# check for failure here either.	if { $run == 0 || $std_only == 0 } {		return	}	set failed [check_failed_run ALL.OUT]	set o [open ALL.OUT a]	if { $failed == 0 } {		puts "Regression Tests Succeeded"		puts $o "Regression Tests Succeeded"	} else {		puts "Regression Tests Failed; see ALL.OUT for log"		puts $o "Regression Tests Failed"	}	puts -nonewline "Test suite run completed at: "	puts [clock format [clock seconds] -format "%H:%M %D"]	puts -nonewline $o "Test suite run completed at: "	puts $o [clock format [clock seconds] -format "%H:%M %D"]	close $o}proc check_failed_run { file {text "^FAIL"}} {	set failed 0	set o [open $file r]	while { [gets $o line] >= 0 } {		set ret [regexp $text $line]		if { $ret != 0 } {			set failed 1		}	}	close $o	return $failed}proc r { args } {	global num_test	source ./include.tcl	set exflgs [eval extractflags $args]	set args [lindex $exflgs 0]	set flags [lindex $exflgs 1]	set display 1	set run 1	set saveflags "--"	foreach f $flags {		switch $f {			n {				set display 1				set run 0				set saveflags "-n $saveflags"			}		}	}	if {[catch {		set sub [ lindex $args 0 ]		switch $sub {			byte {				if { $display } {					puts "run_test byteorder"				}				if { $run } {					check_handles					run_test byteorder				}			}			archive -			dbm -			hsearch -			ndbm -			shelltest -			sindex {				if { $display } { puts "r $sub" }				if { $run } {					check_handles					$sub				}			}			bigfile -			dead -			env -			lock -			log -			memp -			mutex -			rsrc -			sdbtest -			txn {				if { $display } { run_subsystem $sub 1 0 }				if { $run } {					run_subsystem $sub				}			}			join {				eval r $saveflags join1				eval r $saveflags join2				eval r $saveflags join3				eval r $saveflags join4				eval r $saveflags join5				eval r $saveflags join6			}			join1 {				if { $display } { puts jointest }				if { $run } {					check_handles					jointest				}			}			joinbench {				puts "[timestamp]"				eval r $saveflags join1				eval r $saveflags join2				puts "[timestamp]"			}			join2 {				if { $display } { puts "jointest 512" }				if { $run } {					check_handles					jointest 512				}			}			join3 {				if { $display } {					puts "jointest 8192 0 -join_item"				}				if { $run } {					check_handles					jointest 8192 0 -join_item				}			}			join4 {				if { $display } { puts "jointest 8192 2" }				if { $run } {					check_handles					jointest 8192 2				}			}			join5 {				if { $display } { puts "jointest 8192 3" }				if { $run } {					check_handles					jointest 8192 3				}			}			join6 {				if { $display } { puts "jointest 512 3" }				if { $run } {					check_handles					jointest 512 3				}			}			recd {				check_handles				run_recds $run $display [lrange $args 1 end]			}			rep {				for { set j 1 } { $j <= $num_test(test) } \				    { incr j } {					if { $display } {						puts "eval run_test \						    run_repmethod 0 $j $j"					}					if { $run } {						eval run_test \						    run_repmethod 0 $j $j					}				}				for { set i 1 } \				    { $i <= $num_test(rep) } {incr i} {					set test [format "%s%03d" $sub $i]					if { $i == 2 } {						if { $run } {							puts "Skipping rep002 \							    (waiting on SR #6195)"						}						continue					}					if { $display } {						puts "run_test $test"					}					if { $run } {						run_test $test					}				}			}			rpc {				if { $display } { puts "r $sub" }				global rpc_svc svc_list				set old_rpc_src $rpc_svc				foreach rpc_svc $svc_list {					if { !$run || \					  ![file exist $util_path/$rpc_svc] } {						continue					}					run_subsystem rpc					if { [catch {run_rpcmethod -txn} ret] != 0 } {						puts $ret					}					run_test run_rpcmethod				}				set rpc_svc $old_rpc_src			}			sec {				if { $display } {					run_subsystem $sub 1 0				}				if { $run } {					run_subsystem $sub 0 1				}				for { set j 1 } { $j <= $num_test(test) } \				    { incr j } {					if { $display } {						puts "eval run_test \						    run_secmethod $j $j"						puts "eval run_test \						    run_secenv $j $j"					}					if { $run } {						eval run_test \						    run_secmethod $j $j						eval run_test \						    run_secenv $j $j					}				}			}			sdb {				if { $display } {					puts "eval r $saveflags sdbtest"					for { set j 1 } \					    { $j <= $num_test(sdb) } \					    { incr j } {						puts "eval run_test \						    subdb $j $j"					}				}				if { $run } {					eval r $saveflags sdbtest					for { set j 1 } \					    { $j <= $num_test(sdb) } \					    { incr j } {						eval run_test subdb $j $j					}				}			}			btree -			rbtree -			hash -			queue -			queueext -			recno -			frecno -			rrecno {				eval run_method [lindex $args 0] \				    1 0 $display $run [lrange $args 1 end]			}			default {				error \				    "FAIL:[timestamp] r: $args: unknown command"			}		}		flush stdout		flush stderr	} res] != 0} {		global errorInfo;		set fnl [string first "\n" $errorInfo]		set theError [string range $errorInfo 0 [expr $fnl - 1]]		if {[string first FAIL $errorInfo] == -1} {			error "FAIL:[timestamp] r: $args: $theError"		} else {			error $theError;		}	}}proc run_subsystem { prefix { display 0 } { run 1} } {	global num_test	if { [info exists num_test($prefix)] != 1 } {		puts stderr "Subsystem $sub has no number of tests specified in\		    testparams.tcl; skipping."		return	}	for { set i 1 } { $i <= $num_test($prefix) } {incr i} {		set name [format "%s%03d" $prefix $i]		if { $display } {			puts "eval $name"		}		if { $run } {			check_handles			catch {eval $name}		}	}}proc run_test { testname args } {	source ./include.tcl	foreach method "hash queue queueext recno rbtree frecno rrecno btree" {	 	check_handles		eval $testname -$method $args		verify_dir $testdir "" 1	}}proc run_method { method {start 1} {stop 0} {display 0} {run 1} \    { outfile stdout } args } {	global __debug_on	global __debug_print	global num_test	global parms	source ./include.tcl	if { $stop == 0 } {		set stop $num_test(test)	}	if { $run == 1 } {		puts $outfile "run_method: $method $start $stop $args"	}	if {[catch {		for { set i $start } { $i <= $stop } {incr i} {			set name [format "test%03d" $i]			if { [info exists parms($name)] != 1 } {				puts stderr "[format Test%03d $i] disabled in\				    testparams.tcl; skipping."				continue			}			if { $display } {				puts -nonewline $outfile "eval $name $method"				puts -nonewline $outfile " $parms($name) $args"				puts $outfile " ; verify_dir $testdir \"\" 1"			}			if { $run } {				check_handles $outfile				puts $outfile "[timestamp]"				eval $name $method $parms($name) $args				if { $__debug_print != 0 } {					puts $outfile ""				}				# verify all databases the test leaves behind				verify_dir $testdir "" 1				if { $__debug_on != 0 } {					debug				}			}			flush stdout			flush stderr

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -