Tests are compiled with jasmin: http://jasmin.sourceforge.net/ The command `jasmin' must be reachable from $PATH directories.
Tests written in jasmin are put in regression/jvm/jasmin/ Signed-off-by: Tomek Grabiec <tgrab...@gmail.com> --- Makefile | 10 +++++++++- regression/jvm/jasmin/FinallyTest.j | 26 ++++++++++++++++++++++++++ regression/run-suite.sh | 1 + 3 files changed, 36 insertions(+), 1 deletions(-) create mode 100644 regression/jvm/jasmin/FinallyTest.j diff --git a/Makefile b/Makefile index 7fff0b1..394105e 100644 --- a/Makefile +++ b/Makefile @@ -153,6 +153,7 @@ RUNTIME_CLASSES = CC := gcc MONOBURG := ./monoburg/monoburg JAVAC := ecj +JASMIN := jasmin JAVAC_OPTS := -encoding utf-8 INSTALL := install @@ -253,10 +254,17 @@ REGRESSION_TEST_SUITE_CLASSES = \ regression/jvm/TestCase.class \ regression/jvm/TrampolineBackpatchingTest.class +JASMIN_REGRESSION_TEST_SUITE_CLASSES = \ + regression/jvm/jasmin/FinallyTest.class + $(REGRESSION_TEST_SUITE_CLASSES): %.class: %.java $(E) " JAVAC " $@ $(Q) $(JAVAC) -cp $(GLIBJ):regression $(JAVAC_OPTS) -d regression $< +$(JASMIN_REGRESSION_TEST_SUITE_CLASSES): %.class: %.j + $(E) " JASMIN " $@ + $(Q) $(JASMIN) $(JASMIN_OPTS) -d regression $< > /dev/null + $(RUNTIME_CLASSES): %.class: %.java $(E) " JAVAC " $@ $(Q) $(JAVAC) -cp $(GLIBJ) $(JAVAC_OPTS) -d runtime/classpath $< @@ -265,7 +273,7 @@ lib: $(CLASSPATH_CONFIG) make -C lib/ JAVAC=$(JAVAC) GLIBJ=$(GLIBJ) .PHONY: lib -regression: monoburg $(CLASSPATH_CONFIG) $(PROGRAM) $(REGRESSION_TEST_SUITE_CLASSES) +regression: monoburg $(CLASSPATH_CONFIG) $(PROGRAM) $(REGRESSION_TEST_SUITE_CLASSES) $(JASMIN_REGRESSION_TEST_SUITE_CLASSES) $(E) " REGRESSION" $(Q) cd regression && /bin/bash run-suite.sh $(JAVA_OPTS) .PHONY: regression diff --git a/regression/jvm/jasmin/FinallyTest.j b/regression/jvm/jasmin/FinallyTest.j new file mode 100644 index 0000000..df985bc --- /dev/null +++ b/regression/jvm/jasmin/FinallyTest.j @@ -0,0 +1,26 @@ +.class public jvm/jasmin/FinallyTest +.super jvm/TestCase + +.method public static singleSubroutine()I + .limit locals 2 + + jsr sub1 + iload 0 + ireturn +sub1: + astore 1 + iconst_1 + istore 0 + ret 1 +.end method + +.method public static testSingleSubroutine()V + invokestatic jvm/jasmin/FinallyTest/singleSubroutine()I + iconst_1 + invokestatic jvm/TestCase/assertEquals(II)V +.end method + +.method public static main([Ljava/lang/String;)V + invokestatic jvm/jasmin/FinallyTest/testSingleSubroutine()V + return +.end method diff --git a/regression/run-suite.sh b/regression/run-suite.sh index b6bacce..65da32d 100755 --- a/regression/run-suite.sh +++ b/regression/run-suite.sh @@ -81,6 +81,7 @@ if [ -z "$CLASS_LIST" ]; then run_java jvm.SynchronizationExceptionsTest 0 run_java jvm.SynchronizationTest 0 run_java jvm.TrampolineBackpatchingTest 0 + run_java jvm.jasmin.FinallyTest 0 else for i in $CLASS_LIST; do run_java $i 0 -- 1.6.0.6 ------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/Challenge _______________________________________________ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel