From: Christian Thalinger Date: Tue, 29 Apr 2008 09:45:56 +0000 (+0200) Subject: * tests/regression/jasmin/Makefile.am (JAVA): Prefix LD_LIBRARY_PATH. X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=cacao.git;a=commitdiff_plain;h=663294fe5061080ebfbb6ed74107eb3e2ec965f0 * tests/regression/jasmin/Makefile.am (JAVA): Prefix LD_LIBRARY_PATH. (JASMIN_TESTS): Removed. (EXTRA_DIST): Removed JASMIN_TESTS, added $(srcdir)/*.j. (build): Target added. (run): Likewise. * tests/regression/jasmin/runtest: Removed compilation of the tests. * tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j: Moved from here... * tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j-no: ... to here. * tests/regression/jasmin/test_verify_fail_jsr_recursion.j: Likewise. * tests/regression/jasmin/test_verify_fail_jsr_recursion.j-no: Likewise. * tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j: Likewise. * tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j-no: Likewise. --HG-- rename : tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j => tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j-no rename : tests/regression/jasmin/test_verify_fail_jsr_recursion.j => tests/regression/jasmin/test_verify_fail_jsr_recursion.j-no rename : tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j => tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j-no --- diff --git a/tests/regression/jasmin/Makefile.am b/tests/regression/jasmin/Makefile.am index 5672843be..81cbc3ae3 100644 --- a/tests/regression/jasmin/Makefile.am +++ b/tests/regression/jasmin/Makefile.am @@ -21,114 +21,27 @@ ## 02110-1301, USA. -JAVA = $(top_builddir)/src/cacao/cacao +JAVA = LD_LIBRARY_PATH=$(top_builddir)/src/cacao/.libs $(top_builddir)/src/cacao/cacao JAVACMD = $(JAVA) -Xbootclasspath:$(BOOTCLASSPATH) JAVACCMD = $(JAVAC) -bootclasspath $(BOOTCLASSPATH) -JASMIN_TESTS = \ - $(srcdir)/test_coalesce_simple_store.j \ - $(srcdir)/test_dup2.j \ - $(srcdir)/test_dup2_x1.j \ - $(srcdir)/test_dup2_x2.j \ - $(srcdir)/test_dup.j \ - $(srcdir)/test_dup_x1.j \ - $(srcdir)/test_dup_x1_interface_slots.j \ - $(srcdir)/test_dup_x2.j \ - $(srcdir)/test_dup_x2_interface_slots.j \ - $(srcdir)/test_dup_x2_to_dup_x1.j \ - $(srcdir)/test.j \ - $(srcdir)/test_iinc.j \ - $(srcdir)/test_load_store_conflict_by_exception.j \ - $(srcdir)/test_load_store_conflict_by_exception_not_thrown.j \ - $(srcdir)/test_load_store_conflict_different_types.j \ - $(srcdir)/test_load_store_conflict.j \ - $(srcdir)/test_load_store_conflict_via_dup.j \ - $(srcdir)/test_load_store_conflict_via_swap.j \ - $(srcdir)/test_many_dup.j \ - $(srcdir)/test_many_dup_x1.j \ - $(srcdir)/test_many_dup_x2.j \ - $(srcdir)/test_many_dup2.j \ - $(srcdir)/test_many_dup2_x1.j \ - $(srcdir)/test_many_dup2_x2.j \ - $(srcdir)/test_many_monitors.j \ - $(srcdir)/test_many_swap.j \ - $(srcdir)/test_no_store_load_conflict.j \ - $(srcdir)/test_no_store_store_conflict.j \ - $(srcdir)/test_nullpointerexception_monitorexit.j \ - $(srcdir)/test_simple_load_store.j \ - $(srcdir)/test_store_load_conflict.j \ - $(srcdir)/test_store_store_conflict_2.j \ - $(srcdir)/test_store_store_conflict.j \ - $(srcdir)/test_swap_interface_slots.j \ - $(srcdir)/test_swap.j \ - $(srcdir)/test_swap_locals.j \ - $(srcdir)/test_verify_fail_aload_retaddress.j \ - $(srcdir)/test_verify_fail_areturn_wrong_reftype.j \ - $(srcdir)/test_verify_fail_athrow_wrong_reftype.j \ - $(srcdir)/test_verify_fail_athrow_wrong_reftype_unresolved.j \ - $(srcdir)/test_verify_fail_backward_with_new_on_stack.j \ - $(srcdir)/test_verify_fail_double_local_index.j \ - $(srcdir)/test_verify_fail_double_overwritten.j \ - $(srcdir)/test_verify_fail_getfield_basic_type_instance.j \ - $(srcdir)/test_verify_fail_getfield_basic_type_lookup.j \ - $(srcdir)/test_verify_fail_getfield_basic_type_value.j \ - $(srcdir)/test_verify_fail_handler_bad_local.j \ - $(srcdir)/test_verify_fail_init_nullpointer.j \ - $(srcdir)/test_verify_fail_invoke_basic_type.j \ - $(srcdir)/test_verify_fail_invoke_return_basic_type.j \ - $(srcdir)/test_verify_fail_ireturn_wrong_type.j \ - $(srcdir)/test_verify_fail_jsr_called_with_different_stackdepths.j \ - $(srcdir)/test_verify_fail_jsr_exceptions.j \ - $(srcdir)/test_verify_fail_jsr_handler_in_sub.j \ - $(srcdir)/test_verify_fail_jsr_merge_subroutines.j \ - $(srcdir)/test_verify_fail_jsr_merge_subroutines_via_stack.j \ - $(srcdir)/test_verify_fail_jsr_polymorphic_pop.j \ - $(srcdir)/test_verify_fail_load_wrong_type.j \ - $(srcdir)/test_verify_fail_load_wrong_type_within_block.j \ - $(srcdir)/test_verify_fail_local_index.j \ - $(srcdir)/test_verify_fail_long_local_index.j \ - $(srcdir)/test_verify_fail_long_local.j \ - $(srcdir)/test_verify_fail_long_overwritten.j \ - $(srcdir)/test_verify_fail_merge_different_new_objects.j \ - $(srcdir)/test_verify_fail_merge_init_nullpointer.j \ - $(srcdir)/test_verify_fail_putfield_basic_type_instance.j \ - $(srcdir)/test_verify_fail_putfield_basic_type_lookup.j \ - $(srcdir)/test_verify_fail_putfield_basic_type_value.j \ - $(srcdir)/test_verify_fail_putfieldconst_basic_type_instance.j \ - $(srcdir)/test_verify_fail_putfieldconst_basic_type_value.j \ - $(srcdir)/test_verify_fail_putstatic_basic_type_value.j \ - $(srcdir)/test_verify_fail_putstaticconst_basic_type_value.j \ - $(srcdir)/test_verify_fail_retaddr_as_object.j \ - $(srcdir)/test_verify_fail_ret_bad_type.j \ - $(srcdir)/test_verify_fail_ret_uninit_var.j \ - $(srcdir)/test_verify_fail_split_local.j \ - $(srcdir)/test_verify_ok_jsr_handler_in_sub2.j \ - $(srcdir)/test_verify_ok_jsr_improper_nesting.j \ - $(srcdir)/test_verify_ok_jsr.j \ - $(srcdir)/test_verify_ok_jsr_multiple_blocks.j \ - $(srcdir)/test_verify_ok_jsr_pop.j \ - $(srcdir)/test_verify_ok_jsr_push.j \ - $(srcdir)/test_verify_ok_jsr_subroutine_loops_to_start.j \ - $(srcdir)/test_verify_ok_jsr_swap.j \ - $(srcdir)/test_verify_ok_jsr_through_variable.j \ - $(srcdir)/test_verify_ok_local_as_retaddr_and_reference.j \ - $(srcdir)/test_verify_ok_overwrite_local_type.j \ - $(srcdir)/test_verify_ok_untyped_local.j \ - $(srcdir)/test_verify_unspecced_ok_backward_with_new_in_local.j \ - $(srcdir)/test_verify_unspecced_ok_backward_with_new_on_stack.j \ - $(srcdir)/test_verify_unspecced_ok_new_in_local_within_try.j - EXTRA_DIST = \ $(srcdir)/runtest \ $(srcdir)/show \ - $(JASMIN_TESTS) + $(srcdir)/*.j CLEANFILES = \ *.class \ TESTLOG TESTEXPECT TESTOUT TESTERR TESTSIA -check: - @LD_LIBRARY_PATH=$(top_builddir)/src/cacao/.libs JAVA="$(JAVACMD)" $(srcdir)/runtest $(JASMIN_TESTS) +check: build run + +build: + $(JAVACMD) -cp /usr/share/java/jasmin-sable.jar jasmin.Main $(srcdir)/*.j + +run: + @LD_LIBRARY_PATH=$(top_builddir)/src/cacao/.libs JAVA="$(top_builddir)/src/cacao/cacao -Xbootclasspath:$(BOOTCLASSPATH)" $(srcdir)/runtest $(srcdir)/*.j + ## Local variables: ## mode: Makefile diff --git a/tests/regression/jasmin/runtest b/tests/regression/jasmin/runtest index 438d32160..729632210 100755 --- a/tests/regression/jasmin/runtest +++ b/tests/regression/jasmin/runtest @@ -44,19 +44,7 @@ if [ "$1" = "--color" ] ; then ECHOFLAGS='-e' fi -if [ -z "$JASMIN_JAR" ] ; then - JASMIN_JAR=/usr/share/java/jasmin-sable.jar -fi - -if [ ! -r "$JASMIN_JAR" ] ; then - echo >&2 "$0: warning: jasmin .jar is not available at $JASMIN_JAR" - exit 0 -fi - -JASMIN="$JAVA $JAVAFLAGS -cp $JASMIN_JAR jasmin.Main" - echo "java command: $JAVA $JAVAFLAGS" -echo "jasmin command: $JASMIN" while [ -n "$1" ] do @@ -72,10 +60,6 @@ do EXPECTSTATUS=0 CHECKICMD=0 - # compile the test - - $JASMIN "$TEST" || exit 2 - if grep 'ERROR:' "$TEST" >/dev/null ; then EXPECTSTATUS=1 EXPECTERROR=$(grep 'ERROR:.*' "$TEST" | sed 's,.*ERROR:[ \t]*,,') @@ -88,7 +72,7 @@ do # run the test - $TIMEOUTRUN $JAVA $JAVAFLAGS "$TESTBASENAME" >"$TESTOUT" 2>"$TESTERR" + $TIMEOUTRUN $JAVA $JAVAFLAGS "$TESTBASENAME" >"$TESTOUT" 2>"$TESTERR" TESTSTATUS=$? if [ $TESTSTATUS -ne $EXPECTSTATUS ] ; then diff --git a/tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j b/tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j deleted file mode 100644 index 89c5f12e4..000000000 --- a/tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j +++ /dev/null @@ -1,82 +0,0 @@ -.class public test_verify_fail_jsr_multiple_returns -.super java/lang/Object - -; ====================================================================== - -.method public ()V - aload_0 - invokenonvirtual java/lang/Object/()V - return -.end method - -; ====================================================================== - -.method public static check(I)V - .limit locals 1 - .limit stack 10 - getstatic java/lang/System/out Ljava/io/PrintStream; - iload_0 - invokevirtual java/io/PrintStream/println(I)V - return -.end method - -.method public static check(Ljava/lang/String;)V - .limit locals 1 - .limit stack 10 - getstatic java/lang/System/out Ljava/io/PrintStream; - aload_0 - invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V - return -.end method - -; ====================================================================== - -.method public static main([Ljava/lang/String;)V - .limit stack 2 - .limit locals 4 - - ldc 0 - istore 1 - - aload 0 - ifnull force_basic_block_boundary - - ; -------------------------------------------------- - - jsr sbr_1 - - jsr sbr_1 - - ; -------------------------------------------------- - -force_basic_block_boundary: - - iload 1 - invokestatic test_verify_fail_jsr_multiple_returns/check(I)V - - return - -sbr_1: - astore 2 - ldc "one" - invokestatic test_verify_fail_jsr_multiple_returns/check(Ljava/lang/String;)V - jsr sbr_2 - ldc "one-B" - invokestatic test_verify_fail_jsr_multiple_returns/check(Ljava/lang/String;)V - iinc 1 1 - ret 2 - -sbr_2: - astore 3 - ldc "two" - invokestatic test_verify_fail_jsr_multiple_returns/check(Ljava/lang/String;)V - iload 1 - ifne second_time - ret 3 - -second_time: - ret 2 - ; ERROR: VerifyError - -.end method - diff --git a/tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j-no b/tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j-no new file mode 100644 index 000000000..89c5f12e4 --- /dev/null +++ b/tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j-no @@ -0,0 +1,82 @@ +.class public test_verify_fail_jsr_multiple_returns +.super java/lang/Object + +; ====================================================================== + +.method public ()V + aload_0 + invokenonvirtual java/lang/Object/()V + return +.end method + +; ====================================================================== + +.method public static check(I)V + .limit locals 1 + .limit stack 10 + getstatic java/lang/System/out Ljava/io/PrintStream; + iload_0 + invokevirtual java/io/PrintStream/println(I)V + return +.end method + +.method public static check(Ljava/lang/String;)V + .limit locals 1 + .limit stack 10 + getstatic java/lang/System/out Ljava/io/PrintStream; + aload_0 + invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V + return +.end method + +; ====================================================================== + +.method public static main([Ljava/lang/String;)V + .limit stack 2 + .limit locals 4 + + ldc 0 + istore 1 + + aload 0 + ifnull force_basic_block_boundary + + ; -------------------------------------------------- + + jsr sbr_1 + + jsr sbr_1 + + ; -------------------------------------------------- + +force_basic_block_boundary: + + iload 1 + invokestatic test_verify_fail_jsr_multiple_returns/check(I)V + + return + +sbr_1: + astore 2 + ldc "one" + invokestatic test_verify_fail_jsr_multiple_returns/check(Ljava/lang/String;)V + jsr sbr_2 + ldc "one-B" + invokestatic test_verify_fail_jsr_multiple_returns/check(Ljava/lang/String;)V + iinc 1 1 + ret 2 + +sbr_2: + astore 3 + ldc "two" + invokestatic test_verify_fail_jsr_multiple_returns/check(Ljava/lang/String;)V + iload 1 + ifne second_time + ret 3 + +second_time: + ret 2 + ; ERROR: VerifyError + +.end method + diff --git a/tests/regression/jasmin/test_verify_fail_jsr_recursion.j b/tests/regression/jasmin/test_verify_fail_jsr_recursion.j deleted file mode 100644 index 7c38932b6..000000000 --- a/tests/regression/jasmin/test_verify_fail_jsr_recursion.j +++ /dev/null @@ -1,63 +0,0 @@ -.class public test_verify_fail_jsr_recursion -.super java/lang/Object - -; ====================================================================== - -.method public ()V - aload_0 - invokenonvirtual java/lang/Object/()V - return -.end method - -; ====================================================================== - -.method public static check(I)V - .limit locals 1 - .limit stack 10 - getstatic java/lang/System/out Ljava/io/PrintStream; - iload_0 - invokevirtual java/io/PrintStream/println(I)V - return -.end method - -; ====================================================================== - -.method public static main([Ljava/lang/String;)V - .limit stack 2 - .limit locals 4 - - ldc 0 - istore 1 - - aload 0 - ifnull force_basic_block_boundary - - ; -------------------------------------------------- - - jsr sbr_1 - jsr sbr_1 - - ; -------------------------------------------------- - -force_basic_block_boundary: - - iload 1 - invokestatic test_verify_fail_jsr_recursion/check(I)V - - return - -sbr_1: - astore 2 - iload 1 - invokestatic test_verify_fail_jsr_recursion/check(I)V - iload 1 - ifne second_time - iinc 1 1 - jsr sbr_1 - ; ERROR: VerifyError - -second_time: - ret 2 - -.end method - diff --git a/tests/regression/jasmin/test_verify_fail_jsr_recursion.j-no b/tests/regression/jasmin/test_verify_fail_jsr_recursion.j-no new file mode 100644 index 000000000..7c38932b6 --- /dev/null +++ b/tests/regression/jasmin/test_verify_fail_jsr_recursion.j-no @@ -0,0 +1,63 @@ +.class public test_verify_fail_jsr_recursion +.super java/lang/Object + +; ====================================================================== + +.method public ()V + aload_0 + invokenonvirtual java/lang/Object/()V + return +.end method + +; ====================================================================== + +.method public static check(I)V + .limit locals 1 + .limit stack 10 + getstatic java/lang/System/out Ljava/io/PrintStream; + iload_0 + invokevirtual java/io/PrintStream/println(I)V + return +.end method + +; ====================================================================== + +.method public static main([Ljava/lang/String;)V + .limit stack 2 + .limit locals 4 + + ldc 0 + istore 1 + + aload 0 + ifnull force_basic_block_boundary + + ; -------------------------------------------------- + + jsr sbr_1 + jsr sbr_1 + + ; -------------------------------------------------- + +force_basic_block_boundary: + + iload 1 + invokestatic test_verify_fail_jsr_recursion/check(I)V + + return + +sbr_1: + astore 2 + iload 1 + invokestatic test_verify_fail_jsr_recursion/check(I)V + iload 1 + ifne second_time + iinc 1 1 + jsr sbr_1 + ; ERROR: VerifyError + +second_time: + ret 2 + +.end method + diff --git a/tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j b/tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j deleted file mode 100644 index 02cde40d8..000000000 --- a/tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j +++ /dev/null @@ -1,79 +0,0 @@ -.class public test_verify_fail_jsr_recursion_terminates -.super java/lang/Object - -; ====================================================================== - -.method public ()V - aload_0 - invokenonvirtual java/lang/Object/()V - return -.end method - -; ====================================================================== - -.method public static check(I)V - .limit locals 1 - .limit stack 10 - getstatic java/lang/System/out Ljava/io/PrintStream; - iload_0 - invokevirtual java/io/PrintStream/println(I)V - return -.end method - -.method public static check(Ljava/lang/String;)V - .limit locals 1 - .limit stack 10 - getstatic java/lang/System/out Ljava/io/PrintStream; - aload_0 - invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V - return -.end method - -; ====================================================================== - -.method public static main([Ljava/lang/String;)V - .limit stack 2 - .limit locals 4 - - ldc 0 - istore 1 - - aload 0 - ifnull force_basic_block_boundary - - ; -------------------------------------------------- - - jsr sbr_1 - jsr sbr_1 - - ; -------------------------------------------------- - -force_basic_block_boundary: - - iload 1 - invokestatic test_verify_fail_jsr_recursion_terminates/check(I)V - - return - -sbr_1: - ldc "entry" - invokestatic test_verify_fail_jsr_recursion_terminates/check(Ljava/lang/String;)V - iload 1 - ifne second_time - - astore 2 - ldc "first" - invokestatic test_verify_fail_jsr_recursion_terminates/check(Ljava/lang/String;)V - iinc 1 1 - jsr sbr_1 - ; ERROR: VerifyError - ret 2 - -second_time: - astore 3 - ldc "second" - invokestatic test_verify_fail_jsr_recursion_terminates/check(Ljava/lang/String;)V - ret 3 - -.end method - diff --git a/tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j-no b/tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j-no new file mode 100644 index 000000000..02cde40d8 --- /dev/null +++ b/tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j-no @@ -0,0 +1,79 @@ +.class public test_verify_fail_jsr_recursion_terminates +.super java/lang/Object + +; ====================================================================== + +.method public ()V + aload_0 + invokenonvirtual java/lang/Object/()V + return +.end method + +; ====================================================================== + +.method public static check(I)V + .limit locals 1 + .limit stack 10 + getstatic java/lang/System/out Ljava/io/PrintStream; + iload_0 + invokevirtual java/io/PrintStream/println(I)V + return +.end method + +.method public static check(Ljava/lang/String;)V + .limit locals 1 + .limit stack 10 + getstatic java/lang/System/out Ljava/io/PrintStream; + aload_0 + invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V + return +.end method + +; ====================================================================== + +.method public static main([Ljava/lang/String;)V + .limit stack 2 + .limit locals 4 + + ldc 0 + istore 1 + + aload 0 + ifnull force_basic_block_boundary + + ; -------------------------------------------------- + + jsr sbr_1 + jsr sbr_1 + + ; -------------------------------------------------- + +force_basic_block_boundary: + + iload 1 + invokestatic test_verify_fail_jsr_recursion_terminates/check(I)V + + return + +sbr_1: + ldc "entry" + invokestatic test_verify_fail_jsr_recursion_terminates/check(Ljava/lang/String;)V + iload 1 + ifne second_time + + astore 2 + ldc "first" + invokestatic test_verify_fail_jsr_recursion_terminates/check(Ljava/lang/String;)V + iinc 1 1 + jsr sbr_1 + ; ERROR: VerifyError + ret 2 + +second_time: + astore 3 + ldc "second" + invokestatic test_verify_fail_jsr_recursion_terminates/check(Ljava/lang/String;)V + ret 3 + +.end method +