# 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_check_output takes the basename of the test source file, and # a list of TCL regular expressions representing the expected output. # It assumes one line of output per test. proc newlib_check_output { srcfile expectlist } { global subdir srcdir tmpdir set srcfullname "$srcdir/$subdir/$srcfile" set test_driver "$tmpdir/[file tail [file rootname $srcfullname].x]" set comp_output [newlib_target_compile "$srcfullname" "$test_driver" "executable" ""] if { $comp_output != "" } { fail "$subdir/$srcfile compilation" unresolved "$subdir/$srcfile output" return } pass "$subdir/$srcfile compilation" set result [newlib_load $test_driver ""] set status [lindex $result 0] set output [lindex $result 1] set output_lines [split $output "\n"] foreach { expectedval } $expectlist { set gotval [string trim [lindex $output_lines 0] "\r"] if { ! [string match $expectedval $gotval] } { verbose -log "$subdir/$srcfile: Expected: $expectedval Got: $gotval " fail "$subdir/$srcfile output" return } set output_lines [lrange $output_lines 1 end] } pass "$subdir/$srcfile output" }