aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
authorAndy Clement <andrew.clement@gmail.com>2013-01-21 10:46:15 -0800
committerAndy Clement <andrew.clement@gmail.com>2013-01-21 10:46:15 -0800
commit96ebaaed65fe5d507cae3d56126d76f217a9f13a (patch)
tree38321d9e9b8417f452434752a97c6e46fdbeabfa /tests/src
parentefef2f31fe1b535e156332909d3e5ef47ab4a1d9 (diff)
downloadaspectj-96ebaaed65fe5d507cae3d56126d76f217a9f13a.tar.gz
aspectj-96ebaaed65fe5d507cae3d56126d76f217a9f13a.zip
398588 fix
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/org/aspectj/systemtest/ajc172/Ajc172Tests.java27
-rw-r--r--tests/src/org/aspectj/systemtest/ajc172/ajc172.xml34
2 files changed, 50 insertions, 11 deletions
diff --git a/tests/src/org/aspectj/systemtest/ajc172/Ajc172Tests.java b/tests/src/org/aspectj/systemtest/ajc172/Ajc172Tests.java
index 88094cba6..292efcbee 100644
--- a/tests/src/org/aspectj/systemtest/ajc172/Ajc172Tests.java
+++ b/tests/src/org/aspectj/systemtest/ajc172/Ajc172Tests.java
@@ -18,13 +18,17 @@ import org.aspectj.testing.XMLBasedAjcTestCase;
/**
* @author Andy Clement
- */
+ */
public class Ajc172Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
-
+
+ public void testOptionalAspects_pr398588() {
+ runTest("optional aspects");
+ }
+
public void testInconsistentClassFile_pr389750() {
runTest("inconsistent class file");
}
-
+
public void testInconsistentClassFile_pr389750_2() {
runTest("inconsistent class file 2");
}
@@ -44,13 +48,16 @@ public class Ajc172Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
public void testAnnotationValueError_pr389752_2() {
runTest("annotation value error 2");
}
-
- // this needs some cleverness to fix... the annotation value is parsed as a string and then not checked
- // to see if the user is accidentally supplying, for example, an enum value. Due to the use of strings, it
- // is hard to check. The verification code might go here: WildAnnotationTypePattern, line 205 (the string case)
-// public void testAnnotationValueError_pr389752_3() {
-// runTest("annotation value error 3");
-// }
+
+ // this needs some cleverness to fix... the annotation value is parsed as a
+ // string and then not checked
+ // to see if the user is accidentally supplying, for example, an enum value.
+ // Due to the use of strings, it
+ // is hard to check. The verification code might go here:
+ // WildAnnotationTypePattern, line 205 (the string case)
+ // public void testAnnotationValueError_pr389752_3() {
+ // runTest("annotation value error 3");
+ // }
// ---
diff --git a/tests/src/org/aspectj/systemtest/ajc172/ajc172.xml b/tests/src/org/aspectj/systemtest/ajc172/ajc172.xml
index d6a2897ad..81217b60f 100644
--- a/tests/src/org/aspectj/systemtest/ajc172/ajc172.xml
+++ b/tests/src/org/aspectj/systemtest/ajc172/ajc172.xml
@@ -1,7 +1,39 @@
<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[]>
<suite>
-
+ <ajc-test dir="bugs172/pr398588" title="optional aspects">
+ <compile files="Anno.java Anno2.java" outjar="anno.jar" options="-1.5"/>
+ <compile files="AspectA.java" classpath="anno.jar" outjar="aspect.jar" options="-Xlint:ignore -1.5"/>
+ <compile files="AspectB.java" outjar="aspect2.jar" options="-Xlint:ignore -1.5"/>
+ <compile files="Code.java Blah.java" classpath="code.jar;aspect.jar;aspect2.jar" options="-1.5"/>
+ <compile files="AspectC.java" classpath="$sandbox" outjar="aspect3.jar" options="-Xlint:ignore -1.5"/>
+ <compile files="AspectD.java" classpath="anno.jar" outjar="aspect4.jar" options="-Xlint:ignore -1.5"/>
+
+ <file deletefile="anno.jar"/>
+ <run class="Code" ltw="META-INF/aop.xml" classpath=".;aspect.jar;aspect2.jar;aspectj3.jar;aspect4.jar">
+ <stderr>
+ <line text="AspectJ Weaver Version"/>
+ <line text="register classloader"/>
+ <line text="using configuration"/>
+ <line text="register aspect AspectA"/>
+ <line text="deactivating aspect"/>
+ <line text="register aspect AspectB"/>
+ <line text="register aspect AspectC"/>
+ <line text="register aspect AspectD"/>
+ <line text="deactivating aspect 'AspectD' as it requires type 'a.b.c.Anno2' which cannot be found on the classpath"/>
+ <line text="Join point 'method-execution(void Code.main(java.lang.String[]))' in Type 'Code' (Code.java:7) advised by before advice from 'AspectC'"/>
+ <line text="Join point 'staticinitialization(void Code.&lt;clinit&gt;())' in Type 'Code' (Code.java) advised by before advice from 'AspectB'"/>
+ <line text="processing reweavable"/>
+ <line text="processing reweavable"/>
+ </stderr>
+ <stdout>
+ <line text="staticinitialization"/>
+ <line text="C"/>
+ <line text="abcde"/>
+ </stdout>
+ </run>
+ </ajc-test>
+
<ajc-test dir="bugs172/pr389750" title="inconsistent class file">
<compile files="Code.aj" options="-1.5">
</compile>