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

Reply via email to