# Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. # # Permission to use, copy, modify, and distribute this software # is freely granted, provided that this notice is preserved. # # 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_all { flag exclude_list } { global srcdir objdir subdir runtests 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 $srcfile] then { continue } # Exclude tests listed in exclude_list. if { $flag == "-x" } then { if {[lsearch $exclude_list "$srcfile"] != -1} then { continue } } newlib_pass_fail "$srcfile" } } # newlib_pass_fail takes the basename of a test source file, which it # compiles and runs. proc newlib_pass_fail { srcfile } { global srcdir tmpdir subdir set fullsrcfile "$srcdir/$subdir/$srcfile" set test_driver "$tmpdir/[file rootname $srcfile].x" set comp_output [newlib_target_compile "$fullsrcfile" "$test_driver" "executable" ""] if { $comp_output != "" } { fail "$subdir/$srcfile compilation" unresolved "$subdir/$srcfile execution" } else { pass "$subdir/$srcfile compilation" set result [newlib_load $test_driver ""] set status [lindex $result 0] $status "$subdir/$srcfile execution" } }