summaryrefslogtreecommitdiffstats
path: root/tests/java5
diff options
context:
space:
mode:
authormwebster <mwebster>2006-08-01 20:41:52 +0000
committermwebster <mwebster>2006-08-01 20:41:52 +0000
commitbebb3640698bf2c465b64d9565123ec699dac45d (patch)
tree01f62d8a964a8125b31a85c6c84b43a3cdc130ee /tests/java5
parenta89eac7f94cbea34f2ca76e49a1c42a594194080 (diff)
downloadaspectj-bebb3640698bf2c465b64d9565123ec699dac45d.tar.gz
aspectj-bebb3640698bf2c465b64d9565123ec699dac45d.zip
Bug 151938 "Handle Duplicate -javaagent entries more gracefully" (ignore duplicate agents)
Diffstat (limited to 'tests/java5')
-rw-r--r--tests/java5/ataspectj/Aspect.aj5
-rw-r--r--tests/java5/ataspectj/HelloWorld.java7
-rw-r--r--tests/java5/ataspectj/MessageHandler.java27
-rw-r--r--tests/java5/ataspectj/ajc-ant.xml19
-rw-r--r--tests/java5/ataspectj/aop-messagehandler.xml3
5 files changed, 61 insertions, 0 deletions
diff --git a/tests/java5/ataspectj/Aspect.aj b/tests/java5/ataspectj/Aspect.aj
new file mode 100644
index 000000000..03a4403a3
--- /dev/null
+++ b/tests/java5/ataspectj/Aspect.aj
@@ -0,0 +1,5 @@
+public aspect Aspect {
+ before () : execution(public static void main(String[])) {
+ System.out.println(thisJoinPoint);
+ }
+} \ No newline at end of file
diff --git a/tests/java5/ataspectj/HelloWorld.java b/tests/java5/ataspectj/HelloWorld.java
new file mode 100644
index 000000000..58cd14253
--- /dev/null
+++ b/tests/java5/ataspectj/HelloWorld.java
@@ -0,0 +1,7 @@
+public class HelloWorld {
+
+ public static void main (String[] args) {
+ System.out.println("Hello World!");
+ }
+
+} \ No newline at end of file
diff --git a/tests/java5/ataspectj/MessageHandler.java b/tests/java5/ataspectj/MessageHandler.java
new file mode 100644
index 000000000..111b32fc0
--- /dev/null
+++ b/tests/java5/ataspectj/MessageHandler.java
@@ -0,0 +1,27 @@
+import org.aspectj.bridge.AbortException;
+import org.aspectj.bridge.IMessage;
+import org.aspectj.bridge.IMessageHandler;
+import org.aspectj.bridge.IMessage.Kind;
+
+public class MessageHandler implements IMessageHandler {
+
+ public boolean handleMessage(IMessage message) throws AbortException {
+ System.out.println(message);
+ if (message.getKind() == IMessage.ERROR) {
+ System.exit(-1);
+ }
+ else if (message.getKind() == IMessage.ABORT) {
+ throw new AbortException(message.toString());
+ }
+ return true;
+ }
+
+ public boolean isIgnoring(IMessage.Kind kind) {
+ return false;
+ }
+
+ public void dontIgnore(IMessage.Kind kind) {
+
+ }
+
+} \ No newline at end of file
diff --git a/tests/java5/ataspectj/ajc-ant.xml b/tests/java5/ataspectj/ajc-ant.xml
index 695e8ac07..8dccebac7 100644
--- a/tests/java5/ataspectj/ajc-ant.xml
+++ b/tests/java5/ataspectj/ajc-ant.xml
@@ -221,4 +221,23 @@
</java>
</target>
+ <target name="Duplicate JVMTI agents">
+ <copy file="${aj.root}/tests/java5/ataspectj/aop-messagehandler.xml"
+ tofile="${aj.sandbox}/META-INF/aop.xml"/>
+ <java fork="yes" classname="HelloWorld" failonerror="yes">
+ <classpath refid="aj.path"/>
+ <!-- use META-INF/aop.xml style -->
+ <classpath>
+ <pathelement path="${aj.sandbox}/aspects.jar"/>
+ </classpath>
+ <jvmarg value="-javaagent:${aj.root}/lib/test/loadtime5.jar"/>
+<!--
+-->
+ <jvmarg value="-javaagent:${aj.root}/lib/test/loadtime5.jar"/>
+ <jvmarg value="-Daj.weaving.verbose=true"/>
+ <jvmarg value="-Djava.util.logging.config.file=${aj.root}/weaver5/testdata/logging.properties"/>
+<!-- <jvmarg line="${jdwp}"/>-->
+ </java>
+ </target>
+
</project> \ No newline at end of file
diff --git a/tests/java5/ataspectj/aop-messagehandler.xml b/tests/java5/ataspectj/aop-messagehandler.xml
new file mode 100644
index 000000000..9d7c34be0
--- /dev/null
+++ b/tests/java5/ataspectj/aop-messagehandler.xml
@@ -0,0 +1,3 @@
+<aspectj>
+ <weaver options="-XmessageHandlerClass:MessageHandler"/>
+</aspectj> \ No newline at end of file