diff options
author | mwebster <mwebster> | 2006-11-06 13:50:14 +0000 |
---|---|---|
committer | mwebster <mwebster> | 2006-11-06 13:50:14 +0000 |
commit | 36ba801b8f3f45f8c9acd2af2b03489958b97b55 (patch) | |
tree | 4cbba55ea756e74e2a6afa2cc971767ca6d44d2d /tests | |
parent | 4add2e21b067b1e0ea1fb6e862d5c22429336c4a (diff) | |
download | aspectj-36ba801b8f3f45f8c9acd2af2b03489958b97b55.tar.gz aspectj-36ba801b8f3f45f8c9acd2af2b03489958b97b55.zip |
Bug 155033 "Use ajcore for LTW problems" (add ajcore LTW testcases)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bugs153/pr155033/Annotation.java | 1 | ||||
-rw-r--r-- | tests/bugs153/pr155033/Aspect.aj | 9 | ||||
-rw-r--r-- | tests/bugs153/pr155033/Class1.java | 8 | ||||
-rw-r--r-- | tests/bugs153/pr155033/Class2.java | 8 | ||||
-rw-r--r-- | tests/bugs153/pr155033/Class3.java | 7 | ||||
-rw-r--r-- | tests/bugs153/pr155033/MultipleDumpTest.java | 24 | ||||
-rw-r--r-- | tests/bugs153/pr155033/ant.xml | 27 | ||||
-rw-r--r-- | tests/bugs153/pr155033/aop-multipledumponerror.xml | 4 | ||||
-rw-r--r-- | tests/ltw/HelloWorldWithException.java (renamed from tests/ltw/HelloWorld.java) | 2 | ||||
-rw-r--r-- | tests/ltw/ant.xml | 24 | ||||
-rw-r--r-- | tests/ltw/aop-dumponerror.xml | 7 | ||||
-rw-r--r-- | tests/ltw/server-helloworld.properties | 2 | ||||
-rw-r--r-- | tests/ltw/server-parentandchild.properties | 2 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc150/ltw/LTWTests.java | 20 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc150/ltw/ltw-tests.xml | 59 |
15 files changed, 188 insertions, 16 deletions
diff --git a/tests/bugs153/pr155033/Annotation.java b/tests/bugs153/pr155033/Annotation.java new file mode 100644 index 000000000..12f6811c7 --- /dev/null +++ b/tests/bugs153/pr155033/Annotation.java @@ -0,0 +1 @@ +@interface Annotation {}
\ No newline at end of file diff --git a/tests/bugs153/pr155033/Aspect.aj b/tests/bugs153/pr155033/Aspect.aj new file mode 100644 index 000000000..60b1b57c2 --- /dev/null +++ b/tests/bugs153/pr155033/Aspect.aj @@ -0,0 +1,9 @@ +public aspect Aspect { + + declare @method : public static void main(String[]) : @Annotation; + + before () : execution(public Class*.new()) { + System.out.println("? Aspect.before()"); + } + +}
\ No newline at end of file diff --git a/tests/bugs153/pr155033/Class1.java b/tests/bugs153/pr155033/Class1.java new file mode 100644 index 000000000..aae2faf15 --- /dev/null +++ b/tests/bugs153/pr155033/Class1.java @@ -0,0 +1,8 @@ +public class Class1 /*implements MissingInterface*/ { + + @Annotation + public static void main(String[] args) { + System.out.println("? Class1.main()"); + new Class1(); + } +}
\ No newline at end of file diff --git a/tests/bugs153/pr155033/Class2.java b/tests/bugs153/pr155033/Class2.java new file mode 100644 index 000000000..bfbd85e6d --- /dev/null +++ b/tests/bugs153/pr155033/Class2.java @@ -0,0 +1,8 @@ +public class Class2 /*implements MissingInterface*/ { + + @Annotation + public static void main(String[] args) { + System.out.println("? Class2.main()"); + new Class2(); + } +}
\ No newline at end of file diff --git a/tests/bugs153/pr155033/Class3.java b/tests/bugs153/pr155033/Class3.java new file mode 100644 index 000000000..9577464dd --- /dev/null +++ b/tests/bugs153/pr155033/Class3.java @@ -0,0 +1,7 @@ +public class Class3 { + + public static void main(String[] args) { + System.out.println("? Class3.main()"); + new Class3(); + } +}
\ No newline at end of file diff --git a/tests/bugs153/pr155033/MultipleDumpTest.java b/tests/bugs153/pr155033/MultipleDumpTest.java new file mode 100644 index 000000000..554460bb1 --- /dev/null +++ b/tests/bugs153/pr155033/MultipleDumpTest.java @@ -0,0 +1,24 @@ +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +public class MultipleDumpTest { + + public static void main(String[] args) throws Exception { + System.out.println("? MultipleDumpTest.main()"); + invokeMain("Class1",args); + invokeMain("Class2",args); + invokeMain("Class3",args); + } + + private static void invokeMain (String className, String[] args) throws Exception + { + Class clazz = Class.forName(className); + Class[] paramTypes = new Class[1]; + paramTypes[0] = args.getClass(); + + Method method = clazz.getDeclaredMethod("main",paramTypes); + Object[] params = new Object[1]; + params[0] = args; + method.invoke(null,params); + } +}
\ No newline at end of file diff --git a/tests/bugs153/pr155033/ant.xml b/tests/bugs153/pr155033/ant.xml new file mode 100644 index 000000000..5995cb9d5 --- /dev/null +++ b/tests/bugs153/pr155033/ant.xml @@ -0,0 +1,27 @@ +<!-- ajc-ant script, not to be used from Ant commant line - see AntSpec --> +<project name="ltw"> + + <!-- using this we can debug the forked VM --> + <property + name="jdwp" + value="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"/> + <property name="aj.bootpath" refid="aj.path"/> + + <target name="multiple dump on error"> + <copy file="aop-multipledumponerror.xml" + tofile="${aj.sandbox}/META-INF/aop.xml"/> + <java fork="yes" classname="MultipleDumpTest" failonerror="yes"> + <classpath refid="aj.path"/> + <jvmarg value="-Dorg.aspectj.weaver.Dump.condition=error"/> + <sysproperty key="org.aspectj.dump.directory" path="${aj.sandbox}"/> + <jvmarg value="-javaagent:${aj.root}/lib/test/loadtime5.jar"/> +<!-- <jvmarg line="${jdwp}"/>--> +<!-- + <jvmarg value="-Dorg.aspectj.tracing.enabled=true"/> + <jvmarg value="-Dorg.aspectj.tracing.factory=default"/> + <jvmarg value="-Dorg.aspectj.tracing.messages=true"/> +--> + </java> + </target> + +</project> diff --git a/tests/bugs153/pr155033/aop-multipledumponerror.xml b/tests/bugs153/pr155033/aop-multipledumponerror.xml new file mode 100644 index 000000000..c3c75fb47 --- /dev/null +++ b/tests/bugs153/pr155033/aop-multipledumponerror.xml @@ -0,0 +1,4 @@ +<aspectj> + <!--<weaver options="-XmessageHandlerClass:AbortingMessageHandler -debug -XnoInline -Xlint:error"/>--> + <weaver options="-1.5 -Xlint:error"/> +</aspectj>
\ No newline at end of file diff --git a/tests/ltw/HelloWorld.java b/tests/ltw/HelloWorldWithException.java index 9c810cf25..b043000a1 100644 --- a/tests/ltw/HelloWorld.java +++ b/tests/ltw/HelloWorldWithException.java @@ -1,4 +1,4 @@ -public class HelloWorld { +public class HelloWorldWithException { public static void main (String[] args) throws Exception { System.out.println("Hello World!"); diff --git a/tests/ltw/ant.xml b/tests/ltw/ant.xml index e1cb0a6bd..dff2071e7 100644 --- a/tests/ltw/ant.xml +++ b/tests/ltw/ant.xml @@ -8,7 +8,7 @@ <property name="aj.bootpath" refid="aj.path"/> <target name="JDK14 LTW with XML"> - <java fork="yes" classname="HelloWorld" failonerror="yes"> + <java fork="yes" classname="HelloWorldWithException" failonerror="yes"> <classpath refid="aj.path"/> <jvmarg value="-Djava.system.class.loader=org.aspectj.weaver.loadtime.WeavingURLClassLoader"/> <sysproperty key="aj.class.path" path="${aj.sandbox}/hello.jar:${aj.sandbox}/handler.jar"/> @@ -24,7 +24,7 @@ </target> <target name="JDK14 LTW with ASPECTPATH"> - <java fork="yes" classname="HelloWorld" failonerror="yes"> + <java fork="yes" classname="HelloWorldWithException" failonerror="yes"> <classpath refid="aj.path"/> <jvmarg value="-Djava.system.class.loader=org.aspectj.weaver.loadtime.WeavingURLClassLoader"/> <sysproperty key="aj.class.path" path="${aj.sandbox}/hello.jar:${aj.sandbox}/handler.jar"/> @@ -47,7 +47,7 @@ <target name="override default path using -Dorg.aspectj.weaver.loadtime.configuration"> <copy file="${aj.root}/tests/ltw/aop-orgaspectjweaverloadtimeconfiguration.xml" tofile="${aj.sandbox}/META-INF/aop-random.xml"/> - <java fork="yes" classname="HelloWorld" failonerror="yes"> + <java fork="yes" classname="HelloWorldWithException" failonerror="yes"> <classpath refid="aj.path"/> <classpath> <pathelement path="${aj.sandbox}/hello.jar:${aj.sandbox}/handler.jar:${aj.sandbox}/tracing.jar"/> @@ -68,7 +68,7 @@ SecurityManager that will be loaded _before_ the class loader hierarch is fully initialized. --> <target name="NPE with custom agent"> - <java fork="yes" classname="HelloWorld" failonerror="yes"> + <java fork="yes" classname="HelloWorldWithException" failonerror="yes"> <!-- Prepend custom URLClassLoader and append AspectJ to bootclasspath --> @@ -97,7 +97,7 @@ <target name="simple LTW"> <copy file="${aj.root}/tests/ltw/aop-simple.xml" tofile="${aj.sandbox}/META-INF/aop.xml"/> - <java fork="yes" classname="HelloWorld" failonerror="yes"> + <java fork="yes" classname="HelloWorldWithException" failonerror="yes"> <classpath refid="aj.path"/> <!-- use META-INF/aop.xml style --> <jvmarg value="-javaagent:${aj.root}/lib/test/loadtime5.jar"/> @@ -105,4 +105,18 @@ </java> </target> + <target name="dump on error"> + <copy file="${aj.root}/tests/ltw/aop-dumponerror.xml" + tofile="${aj.sandbox}/META-INF/aop.xml"/> + <java fork="yes" classname="HelloWorldWithException" failonerror="no"> + <classpath refid="aj.path"/> + <jvmarg value="-Dorg.aspectj.weaver.Dump.condition=error"/> + <sysproperty key="org.aspectj.dump.directory" path="${aj.sandbox}"/> + <!-- use META-INF/aop.xml style --> + <jvmarg value="-javaagent:${aj.root}/lib/test/loadtime5.jar"/> +<!-- <jvmarg line="${jdwp}"/>--> + <jvmarg value="-Dorg.aspectj.tracing.factory=default"/> + </java> + </target> + </project> diff --git a/tests/ltw/aop-dumponerror.xml b/tests/ltw/aop-dumponerror.xml new file mode 100644 index 000000000..8115618bc --- /dev/null +++ b/tests/ltw/aop-dumponerror.xml @@ -0,0 +1,7 @@ +<aspectj> + <aspects> + <concrete-aspect name="SubAspect" extends="MissingAspect"> + <pointcut name="scope" expression=""/> + </concrete-aspect> + </aspects> +</aspectj>
\ No newline at end of file diff --git a/tests/ltw/server-helloworld.properties b/tests/ltw/server-helloworld.properties index baf42dbe0..09ec740a7 100644 --- a/tests/ltw/server-helloworld.properties +++ b/tests/ltw/server-helloworld.properties @@ -2,4 +2,4 @@ loader.application=Application,hello.jar;handler.jar # main=Class,Loader -main=HelloWorld,Application
\ No newline at end of file +main=HelloWorldWithException,Application
\ No newline at end of file diff --git a/tests/ltw/server-parentandchild.properties b/tests/ltw/server-parentandchild.properties index d0a7af85e..b917f564e 100644 --- a/tests/ltw/server-parentandchild.properties +++ b/tests/ltw/server-parentandchild.properties @@ -3,4 +3,4 @@ loader.parent=Parent,parent.jar loader.child=Child,child.jar,Parent # main=Class,Loader -main=Child,Child
\ No newline at end of file +main=HelloWorldWithException,Child
\ No newline at end of file diff --git a/tests/src/org/aspectj/systemtest/ajc150/ltw/LTWTests.java b/tests/src/org/aspectj/systemtest/ajc150/ltw/LTWTests.java index 267593468..79f793b32 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/ltw/LTWTests.java +++ b/tests/src/org/aspectj/systemtest/ajc150/ltw/LTWTests.java @@ -150,13 +150,29 @@ public class LTWTests extends org.aspectj.testing.XMLBasedAjcTestCase { public void testConfigutationSystemProperty_pr149289 () { runTest("override default path using -Dorg.aspectj.weaver.loadtime.configuration"); - } public void testSimpleLTW_pr159854 () { runTest("simple LTW"); - } + + public void testDumpOnError_pr155033 () { + runTest("dump on error"); + + File dir = getSandboxDirectory(); + CountingFilenameFilter cff = new CountingFilenameFilter(".txt"); + dir.listFiles(cff); + assertEquals("Missing ajcore file in " + dir.getAbsolutePath(),1,cff.getCount()); + } + + public void testMultipleDumpOnError_pr155033 () { + runTest("multiple dump on error"); + + File dir = getSandboxDirectory(); + CountingFilenameFilter cff = new CountingFilenameFilter(".txt"); + dir.listFiles(cff); + assertEquals("Missing ajcore file in " + dir.getAbsolutePath(),2,cff.getCount()); + } /* * Allow system properties to be set and restored diff --git a/tests/src/org/aspectj/systemtest/ajc150/ltw/ltw-tests.xml b/tests/src/org/aspectj/systemtest/ajc150/ltw/ltw-tests.xml index 59bb176bd..a58fc0b45 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/ltw/ltw-tests.xml +++ b/tests/src/org/aspectj/systemtest/ajc150/ltw/ltw-tests.xml @@ -536,7 +536,7 @@ </ajc-test> <ajc-test dir="ltw" title="JDK14 LTW with XML" keywords="ltw"> - <compile files="HelloWorld.java" options="-outjar hello.jar"/> + <compile files="HelloWorldWithException.java" options="-outjar hello.jar"/> <compile files="ExceptionHandler.aj" options="-outxml -outjar handler.jar"/> <ant file="ant.xml" target="JDK14 LTW with XML" verbose="true"> <stdout> @@ -549,7 +549,7 @@ </ajc-test> <ajc-test dir="ltw" title="JDK14 LTW with ASPECTPATH" keywords="ltw"> - <compile files="HelloWorld.java" options="-outjar hello.jar"/> + <compile files="HelloWorldWithException.java" options="-outjar hello.jar"/> <compile files="ExceptionHandler.aj" options="-outjar handler.jar"/> <ant file="ant.xml" target="JDK14 LTW with ASPECTPATH" verbose="true"> <stdout> @@ -562,7 +562,7 @@ </ajc-test> <ajc-test dir="ltw" title="TestServer with HelloWorld" keywords="ltw,server"> - <compile files="HelloWorld.java" options="-outjar hello.jar"/> + <compile files="HelloWorldWithException.java" options="-outjar hello.jar"/> <compile files="ExceptionHandler.aj" options="-outxml -outjar handler.jar"/> <ant file="ant-server.xml" target="TestServer with HelloWorld" verbose="true"> <stdout> @@ -573,7 +573,7 @@ </stdout> </ant> </ajc-test> - +<!-- <ajc-test dir="ltw" title="TestServer with Parent and Child" keywords="ltw,server"> <compile files="Parent.java" options="-outjar parent.jar"/> <compile files="Child.java" options="-classpath parent.jar -outjar child.jar"/> @@ -587,9 +587,22 @@ </stdout> </ant> </ajc-test> +--> + <ajc-test dir="ltw" title="TestServer with Parent and Child" keywords="ltw,server"> + <compile files="HelloWorldWithException.java" options="-outjar child.jar"/> + <compile files="ExceptionHandler.aj" options="-outxml -outjar parent.jar"/> + <ant file="ant-server.xml" target="TestServer with Parent and Child" verbose="true"> + <stdout> + <line text="Starting ..."/> + <line text="Running HelloWorld"/> + <line text="Hello World!"/> + <line text="Stopping ..."/> + </stdout> + </ant> + </ajc-test> <ajc-test dir="ltw" title="override default path using -Dorg.aspectj.weaver.loadtime.configuration" keywords="ltw"> - <compile files="HelloWorld.java" options="-outjar hello.jar"/> + <compile files="HelloWorldWithException.java" options="-outjar hello.jar"/> <compile files="ExceptionHandler.aj" options="-outxml -outjar handler.jar"/> <compile files="Tracing.aj" options="-outxml -outjar tracing.jar"/> <ant file="ant.xml" target="override default path using -Dorg.aspectj.weaver.loadtime.configuration" verbose="true"> @@ -645,7 +658,7 @@ </ajc-test> <ajc-test dir="ltw" title="simple LTW" keywords="ltw"> - <compile files="HelloWorld.java"/> + <compile files="HelloWorldWithException.java"/> <compile files="ExceptionHandler.aj" options="-outxml"/> <ant file="ant.xml" target="simple LTW" verbose="true"> <stdout> @@ -653,5 +666,39 @@ </stdout> </ant> </ajc-test> + + <ajc-test dir="ltw" title="dump on error" keywords="ltw"> + <compile files="HelloWorldWithException.java"/> + <compile files="ExceptionHandler.aj" options="-outxml"/> + <ant file="ant.xml" target="dump on error" verbose="true"> + <stdout> + <line text="Hello World!"/> + </stdout> + </ant> + </ajc-test> + + <ajc-test dir="bugs153/pr155033" title="multiple dump on error" keywords="ltw"> + <compile files="Annotation.java" options="-1.5"/> + <compile files="MultipleDumpTest.java, Class1.java, Class2.java, Class3.java" options="-1.5"/> + <compile files="Aspect.aj" options="-1.5 -outxml -Xlint:ignore"/> +<!-- + <run class="MultipleDumpTest" ltw="aop-multipledumponerror.xml"> + <stdout> + <line text="? AbortingMessageHandler.AbortingMessageHandler()"/> + </stdout> + </run> +--> + <ant file="ant.xml" target="multiple dump on error" verbose="true"> + <stdout> + <line text="? MultipleDumpTest.main()"/> + <line text="? Class1.main()"/> + <line text="? Aspect.before()"/> + <line text="? Class2.main()"/> + <line text="? Aspect.before()"/> + <line text="? Class3.main()"/> + <line text="? Aspect.before()"/> + </stdout> + </ant> + </ajc-test>
\ No newline at end of file |