📄 verify.exp
字号:
# Tests for class verifier.global gcj_verify_xfailset {gcj_verify_xfail(gij verify of call.fail.Static)} 1set {gcj_verify_xfail(gij verify of simple.fail.dupfield)} 1set {gcj_verify_xfail(gij verify of simple.fail.dupinterface)} 1set {gcj_verify_xfail(gij verify of simple.fail.dupmethod)} 1set {gcj_verify_xfail(gij verify of subr.fail.jsr10)} 1set {gcj_verify_xfail(gij verify of subr.fail.jsr8)} 1proc gcj_verify_list_tests {srcdir} { set result {} if {[file exists $srcdir]} { set here [pwd] cd $srcdir foreach item [lsort [glob -nocomplain */*/*.class]] { lappend result [file rootname $item] } cd $here } return $result}proc gcj_verify_test_gij {gij srcdir test shouldfail} { global gcj_verify_xfail set testname "gij verify of $test" verbose "invoking gij $test - shouldfail=$shouldfail" set result [libjava_load $gij [list --cp $srcdir $test] ""] set status [lindex $result 0] set output [lindex $result 1] if {$shouldfail} { # We match the few exceptions that are allowed. This may need # updating from time to time. We do this rather than check the # exit status because we want to catch the case where gij dies in # some inappropriate way. if {[string match *VerifyError* $output] || [string match *AbstractMethodError* $output] || [string match *IncompatibleClassChangeError* $output]} { set cmd pass } else { set cmd fail } if {[info exists gcj_verify_xfail($testname)]} { setup_xfail *-*-* } } else { if {$status == "pass"} { set cmd pass } else { set cmd fail } } $cmd $testname}proc gcj_verify_run {} { global INTERPRETER srcdir set gij [libjava_find_gij] set interpret 1 # libjava_find_gij will return "" if it couldn't find the # program; in this case we want to skip the test. if {$INTERPRETER != "yes" || $gij == ""} { set interpret 0 } set testsdir $srcdir/libjava.verify/verify foreach test [gcj_verify_list_tests $testsdir] { set shouldfail [string match */fail/* $test] if {$interpret} { regsub -all -- / $test . gijname gcj_verify_test_gij $gij $testsdir $gijname $shouldfail } # FIXME: run gcj --syntax-only here. }}gcj_verify_run
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -