⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java.exp

📁 gcc的组建
💻 EXP
字号:
## Author: Petter Reinholdtsen <pere@td.org.uit.no>## Java regression tester for DejaGNU#load_lib target.exp## Compile and run all available java source#proc test-java-source { } {    global srcdir    global subdir    global runtests    # Find all Java-files    foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.java]] {	# If we're only testing specific files and this isn't one of them,	# skip it.	if ![runtest_file_p $runtests $src] then {	    continue	}    	java-compile-execute $src    }    # Find all jasmin (java assambler) files    foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.j]] {	# If we're only testing specific files and this isn't one of them,	# skip it.	if ![runtest_file_p $runtests $src] then {	    continue	}    	jasmin-assemble-execute $src    }}## Compile #args#proc java-compile { args } {    set src $args    set output ""    set options ""    set comp_output [javac-target-compile "$src" "$output" executable $options];}## Assemble #args#proc jasmin-assemble { args } {    set src $args    set output ""    set options ""    set comp_output [jasmin-target-assemble "$src" "$output" executable $options];}## Compile $args and execute java class runtime_test#proc java-compile-execute { args } {    global srcdir    global subdir    set comp_output [java-compile $args]    if ![regexp "^$" $comp_output] {	# Do not care about kaffes stupid messages	#fail $args	#print "$comp_output"	#return    }    global JAVA    set java $JAVA    set classpath [getenv CLASSPATH]    setenv CLASSPATH "${srcdir}/$subdir:$classpath"    # XXX There must be a better way to get basename    catch {exec basename $args .java} basename    catch {exec $java $basename} run_output    exec rm -f "${srcdir}/$subdir/$basename.class"    set lines ""    foreach line [split $run_output \n] {	if [regexp "PASSED:.*" $line] {	    if ![regexp "^$" $lines] {		fail "$args $lines"	    }	    pass "$args $line"	} else {	    if [regexp "FAILED:.*" $line] {		fail "$args $line"	    } else {		# Accumulate "wild" lines		if ![regexp "^$" $lines] {		    set lines "$lines\n $line"		} else {		    set lines "$line"		}	    }	}    }    if ![regexp "^$" $lines] {	fail "$args $lines"    }    # Reset CLASSPATH    setenv CLASSPATH "$classpath"    return;}## Compile $args and execute java class runtime_test#proc jasmin-assemble-execute { args } {    global srcdir    global subdir    set comp_output [jasmin-assemble $args]    if ![regexp "^$" $comp_output] {	#fail $args	#print "$comp_output"	#return    }    # XXX Should use some default value    global JAVA    set java $JAVA    set classpath [getenv CLASSPATH]    setenv CLASSPATH "${srcdir}/$subdir:$classpath"    # XXX There must be a better way to get basename    catch {exec basename $args .j} basename    catch {exec $java $basename} run_output    exec rm -f "${srcdir}/$subdir/$basename.class"    set lines ""    foreach line [split $run_output \n] {	if [regexp "PASSED:.*" $line] {	    if ![regexp "^$" $lines] {		fail "$args $lines"	    }	    pass "$args $line"	} else {	    if [regexp "FAILED:.*" $line] {		fail "$args $line"	    } else {		# Accumulate "wild" lines		if ![regexp "^$" $lines] {		    set lines "$lines\n $line"		} else {		    set lines "$line"		}	    }	}    }    if ![regexp "^$" $lines] {	fail "$args $lines"    }    # Reset CLASSPATH    setenv CLASSPATH "$classpath"    return;}## Compile java source#proc javac-target-compile { source dest type options } {# XXX Do it the simple way - should use target_compile    global JAVAC    set javac $JAVAC    catch {exec $javac $source} comp_output    return $comp_output#    set options ""#    lappend options "compiler=javac"#    lappend options "additional_flags=-g"#    lappend options "libs="#    lappend options "ldflags="#     return [target_compile $source $dest $type $options]}## Compile jasmin (java assambly) source#proc jasmin-target-assemble { source dest type options } {    global srcdir    global subdir# XXX Do it the simple way - should use target_compile    global JAVA    set java $JAVA    catch {exec $java jasmin.Main -d $srcdir/$subdir $source} comp_output    return comp_output;#    set options ""#    lappend options "compiler=javac"#    lappend options "additional_flags=-g"#    lappend options "libs="#    lappend options "ldflags="#     return [target_compile $source $dest $type $options]}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -