source: trunk/gcc/libjava/testsuite/libjava.jacks/jacks.exp

Last change on this file was 1389, checked in by bird, 21 years ago

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 2.3 KB
Line 
1# Run the Jacks test suite.
2# See http://www-124.ibm.com/developerworks/oss/cvs/jikes/~checkout~/jacks/jacks.html
3
4proc gcj_jacks_setup_xfail {ary} {
5 upvar $ary array
6 global srcdir
7
8 set fd [open $srcdir/libjava.jacks/jacks.xfail]
9 while {! [eof $fd]} {
10 set array([gets $fd]) {}
11 }
12 close $fd
13}
14
15proc gcj_jacks_write {filename} {
16 global GCJ_UNDER_TEST
17 global libgcj_jar
18 global libjava_libgcc_s_path
19 global original_ld_library_path
20
21 set gcjl [split $GCJ_UNDER_TEST]
22 set gcj_cmd [lindex $gcjl 0]
23 set rest [join [lreplace $gcjl 0 0]]
24 append rest " -C"
25
26 set fd [open $filename w]
27 puts $fd "set JAVAC $gcj_cmd"
28 puts $fd "set JAVA_CLASSPATH \"$libgcj_jar\""
29 puts $fd "set JAVAC_FLAGS [list $rest]"
30 puts $fd "set JAVA [list [libjava_find_gij]]"
31 puts $fd "set JAVA_FLAGS \"\""
32 puts $fd "set JAVAC_ENCODING_FLAG --encoding="
33 puts $fd "set tcltest::testConstraints(encoding) 1"
34 puts $fd "set tcltest::testConstraints(gcj) 1"
35 # "Time-consuming JVM limitation tests".
36 # puts $fd "set tcltest::testConstraints(jvm) 1"
37 close $fd
38
39 setenv LD_LIBRARY_PATH $libjava_libgcc_s_path:$original_ld_library_path
40}
41
42proc gcj_jacks_parse {file} {
43 if {[catch {open $file} fd]} {
44 verbose "couldn't parse Jacks output: $fd"
45 return
46 }
47
48 verbose "Reading jacks.xfail"
49 gcj_jacks_setup_xfail xfails
50
51 while {! [eof $fd]} {
52 set line [gets $fd]
53 if {[string match RESULT* $line]} {
54 set linelist [split $line]
55 set test [lindex $linelist 1]
56 if {[info exists xfails($test)]} {
57 setup_xfail "*-*-*"
58 }
59 if {[lindex $linelist 2] == "PASSED"} {
60 pass $test
61 } else {
62 fail $test
63 }
64 }
65 }
66
67 close $fd
68}
69
70proc gcj_jacks_run {} {
71 global srcdir
72
73 if {! [file isdirectory $srcdir/libjava.jacks/jacks]} {
74 # No tests.
75 verbose "Jacks tests not found"
76 return
77 }
78
79 # Jacks forces us to do this. You can't run it from a separate
80 # tree.
81 verbose "Copying Jacks..."
82 catch {system "rm -rf jacks"}
83 catch {system "cp -r $srcdir/libjava.jacks/jacks jacks"}
84
85 set here [pwd]
86 cd jacks
87
88 verbose "Writing Jacks setup file"
89 gcj_jacks_write gcj_setup
90
91 verbose "Running Jacks..."
92 if {[catch {exec ./jacks gcj} msg]} {
93 verbose "jacks invocation failure: $msg"
94 fail "running jacks"
95 } else {
96 pass "running jacks"
97
98 gcj_jacks_parse logging/gcj.log
99 }
100
101 cd $here
102}
103
104gcj_jacks_run
Note: See TracBrowser for help on using the repository browser.