1 | # Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. |
---|
2 | # |
---|
3 | # Permission to use, copy, modify, and distribute this software |
---|
4 | # is freely granted, provided that this notice is preserved. |
---|
5 | # |
---|
6 | |
---|
7 | # newlib_check_output takes the basename of the test source file, and |
---|
8 | # a list of TCL regular expressions representing the expected output. |
---|
9 | # It assumes one line of output per test. |
---|
10 | |
---|
11 | proc newlib_check_output { srcfile expectlist } { |
---|
12 | global subdir srcdir tmpdir |
---|
13 | |
---|
14 | set srcfullname "$srcdir/$subdir/$srcfile" |
---|
15 | set test_driver "$tmpdir/[file tail [file rootname $srcfullname].x]" |
---|
16 | |
---|
17 | set comp_output [newlib_target_compile "$srcfullname" "$test_driver" "executable" ""] |
---|
18 | |
---|
19 | if { $comp_output != "" } { |
---|
20 | fail "$subdir/$srcfile compilation" |
---|
21 | unresolved "$subdir/$srcfile output" |
---|
22 | return |
---|
23 | } |
---|
24 | pass "$subdir/$srcfile compilation" |
---|
25 | |
---|
26 | set result [newlib_load $test_driver ""] |
---|
27 | set status [lindex $result 0] |
---|
28 | set output [lindex $result 1] |
---|
29 | |
---|
30 | set output_lines [split $output "\n"] |
---|
31 | |
---|
32 | foreach { expectedval } $expectlist { |
---|
33 | set gotval [string trim [lindex $output_lines 0] "\r"] |
---|
34 | if { ! [string match $expectedval $gotval] } { |
---|
35 | verbose -log "$subdir/$srcfile: Expected: $expectedval Got: $gotval " |
---|
36 | fail "$subdir/$srcfile output" |
---|
37 | return |
---|
38 | } |
---|
39 | set output_lines [lrange $output_lines 1 end] |
---|
40 | } |
---|
41 | |
---|
42 | pass "$subdir/$srcfile output" |
---|
43 | } |
---|