+2002-06-18 Thomas Fitzsimmons <fitzsim@redhat.com>
+
+ * testsuite/lib/passfail.exp (newlib_pass_fail_all): New
+ procedure.
+ (newlib_pass_fail): Change to compile and run only one file.
+ * testsuite/newlib.locale/locale.exp: Use new
+ newlib_pass_fail_all procedure.
+ * testsuite/newlib.string/string.exp: Likewise.
+
2002-06-18 Dave Brolley <brolley@redhat.com>
From Catherine Moore, Michael Meissner, Richard Sandiford:
# is freely granted, provided that this notice is preserved.
#
-# newlib_pass_fail compiles and runs all the source files in the test
-# directory that are not included in the check_output_tests list.
-# check_output_tests lists the sources' basenames.
+# newlib_pass_fail_all compiles and runs all the source files in the
+# test directory. If flag is -x, then the sources whose basenames are
+# listed in exclude_list are not compiled and run.
-proc newlib_pass_fail { check_output_tests } {
+proc newlib_pass_fail_all { flag exclude_list } {
global srcdir objdir subdir runtests
- foreach testcase [glob -nocomplain $srcdir/$subdir/*.c] {
+ foreach fullsrcfile [glob -nocomplain $srcdir/$subdir/*.c] {
+ set srcfile "[file tail $fullsrcfile]"
# If we're only testing specific files and this isn't one of them, skip it.
- if ![runtest_file_p $runtests $testcase] then {
+ if ![runtest_file_p $runtests $srcfile] then {
continue
}
- # Exclude tests which require their output to be checked
- if {[lsearch $check_output_tests "[file tail $testcase]"] != -1} then {
- continue
+ # Exclude tests listed in exclude_list.
+ if { $flag == "-x" } then {
+ if {[lsearch $exclude_list "$srcfile"] != -1} then {
+ continue
+ }
}
+ newlib_pass_fail "$srcfile"
+ }
+}
- set test_driver "$objdir/testsuite/[file tail [file rootname $testcase].x]"
-
- set comp_output [newlib_target_compile "$testcase" "$test_driver" "executable" ""]
-
- if { $comp_output != "" } {
- fail "Failed to compile $testcase.\n"
- fail "$testcase"
- } else {
- pass "Compiled $testcase.\n"
- set result [newlib_load $test_driver ""]
- set status [lindex $result 0]
- $status "$testcase"
- }
+# newlib_pass_fail takes the basename of a test source file, which it
+# compiles and runs.
+
+proc newlib_pass_fail { srcfile } {
+ global srcdir objdir subdir
+
+ set fullsrcfile "$srcdir/$subdir/$srcfile"
+
+ set test_driver "$objdir/testsuite/[file rootname $srcfile].x"
+
+ set comp_output [newlib_target_compile "$fullsrcfile" "$test_driver" "executable" ""]
+
+ if { $comp_output != "" } {
+ fail "Failed to compile $fullsrcfile.\n"
+ fail "$fullsrcfile"
+ } else {
+ pass "Compiled $fullsrcfile.\n"
+ set result [newlib_load $test_driver ""]
+ set status [lindex $result 0]
+ $status "$fullsrcfile"
}
}