|
@@ -0,0 +1,104 @@
|
|
|
+
|
|
|
+# every test should always be run and always return some status.
|
|
|
+# so, if we lose sync with a multi-test program, aborted will be used
|
|
|
+# to flag the remainder of the tests as untested.
|
|
|
+#set aborted 0
|
|
|
+
|
|
|
+# only match with color codes since "failed" / "OK" might otherwise
|
|
|
+# be part of the output...
|
|
|
+#set color 1
|
|
|
+
|
|
|
+set config_h [open "../config.h" "r"]
|
|
|
+set config_h_text [read $config_h]
|
|
|
+close $config_h
|
|
|
+set i [string first "#define HAVE_IPV6" $config_h_text]
|
|
|
+if { $i >= 0 } {
|
|
|
+ set have_ipv6 1
|
|
|
+} else {
|
|
|
+ set have_ipv6 0
|
|
|
+}
|
|
|
+send_user "IPv6 enabled: $have_ipv6\n"
|
|
|
+set xfail 0
|
|
|
+
|
|
|
+proc onetest { test_name note start } {
|
|
|
+ global aborted
|
|
|
+ global testprefix
|
|
|
+ global verbose
|
|
|
+ global color
|
|
|
+ global xfail
|
|
|
+
|
|
|
+ if { $aborted > 0 } {
|
|
|
+ untested "$testprefix$test_name"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if { $verbose > 0 } {
|
|
|
+ send_user "$testprefix$test_name$note\n"
|
|
|
+ }
|
|
|
+ expect {
|
|
|
+ "$start" { }
|
|
|
+
|
|
|
+ eof { unresolved "$testprefix$test_name"; set aborted 1; }
|
|
|
+ timeout { unresolved "$testprefix$test_name"; set aborted 1; }
|
|
|
+ }
|
|
|
+
|
|
|
+ if { $aborted > 0 } {
|
|
|
+ send_user "sync failed: $testprefix$test_name$note -- $testprefix aborted!\n"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if { $color } {
|
|
|
+ set pat "(32mOK|31mfailed)"
|
|
|
+ } else {
|
|
|
+ set pat "(OK|failed)"
|
|
|
+ }
|
|
|
+ expect {
|
|
|
+ # need this because otherwise expect will skip over a "failed" and
|
|
|
+ # grab the next "OK" (or the other way around)
|
|
|
+ -re "$pat" {
|
|
|
+ if { "$expect_out(0,string)" == "32mOK" || "$expect_out(0,string)" == "OK" } {
|
|
|
+ pass "$testprefix$test_name"
|
|
|
+ } else {
|
|
|
+ if { $xfail } {
|
|
|
+ xfail "$testprefix$test_name"
|
|
|
+ } else {
|
|
|
+ fail "$testprefix$test_name"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ eof { unresolved "$testprefix$test_name"; set aborted 1; }
|
|
|
+ timeout { unresolved "$testprefix$test_name"; set aborted 1; }
|
|
|
+ }
|
|
|
+
|
|
|
+ if { $aborted > 0 } {
|
|
|
+ send_user "failed: $testprefix$test_name$note -- $testprefix aborted!\n"
|
|
|
+ return
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+proc headerline { line } {
|
|
|
+ global aborted
|
|
|
+ if { $aborted > 0 } { return; }
|
|
|
+ expect {
|
|
|
+ $line { return; }
|
|
|
+ eof { send_user "numbering mismatch!\n"; set aborted 1; }
|
|
|
+ timeout { send_user "numbering mismatch!\n"; set aborted 1; }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+proc simpletest { start } {
|
|
|
+ onetest "$start" "" "$start"
|
|
|
+}
|
|
|
+
|
|
|
+proc simpletest_nov6 { start } {
|
|
|
+ global have_ipv6
|
|
|
+ global xfail
|
|
|
+
|
|
|
+ set xfail [expr 1-$have_ipv6]
|
|
|
+ onetest "$start" "" "$start"
|
|
|
+ set xfail 0
|
|
|
+}
|
|
|
+
|
|
|
+
|