summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAndy Clement <aclement@gopivotal.com>2014-05-12 12:18:46 -0700
committerAndy Clement <aclement@gopivotal.com>2014-05-12 12:18:46 -0700
commit70f2e6d63556b1ca0158021045348fca2ea4fc86 (patch)
treecd1dafd8b97b56780fa93b95d9bda08c99409339 /tests
parente5d3d2fa37191a77c003a1a4c6a5b867f3e549cb (diff)
downloadaspectj-70f2e6d63556b1ca0158021045348fca2ea4fc86.tar.gz
aspectj-70f2e6d63556b1ca0158021045348fca2ea4fc86.zip
377096: Fix for corrupt annotation creation
Diffstat (limited to 'tests')
-rw-r--r--tests/bugs181/377096/A.java7
-rw-r--r--tests/src/org/aspectj/systemtest/ajc180/AllTestsAspectJ180.java3
-rw-r--r--tests/src/org/aspectj/systemtest/ajc181/Ajc181Tests.java7
-rw-r--r--tests/src/org/aspectj/systemtest/ajc181/ajc181.xml6
4 files changed, 23 insertions, 0 deletions
diff --git a/tests/bugs181/377096/A.java b/tests/bugs181/377096/A.java
new file mode 100644
index 000000000..78d21d8ed
--- /dev/null
+++ b/tests/bugs181/377096/A.java
@@ -0,0 +1,7 @@
+@interface A {
+ int i();
+}
+class C {
+ @A(wibble={},i=42)
+ public void xxx() {}
+} \ No newline at end of file
diff --git a/tests/src/org/aspectj/systemtest/ajc180/AllTestsAspectJ180.java b/tests/src/org/aspectj/systemtest/ajc180/AllTestsAspectJ180.java
index 453c057eb..81be509a7 100644
--- a/tests/src/org/aspectj/systemtest/ajc180/AllTestsAspectJ180.java
+++ b/tests/src/org/aspectj/systemtest/ajc180/AllTestsAspectJ180.java
@@ -10,6 +10,8 @@
*******************************************************************************/
package org.aspectj.systemtest.ajc180;
+import org.aspectj.systemtest.ajc181.Ajc181Tests;
+
import junit.framework.Test;
import junit.framework.TestSuite;
@@ -19,6 +21,7 @@ public class AllTestsAspectJ180 {
TestSuite suite = new TestSuite("AspectJ 1.8.0 tests");
// $JUnit-BEGIN$
suite.addTest(Ajc180Tests.suite());
+ suite.addTest(Ajc181Tests.suite());
// $JUnit-END$
return suite;
}
diff --git a/tests/src/org/aspectj/systemtest/ajc181/Ajc181Tests.java b/tests/src/org/aspectj/systemtest/ajc181/Ajc181Tests.java
index c4737e945..2bc5e0c0c 100644
--- a/tests/src/org/aspectj/systemtest/ajc181/Ajc181Tests.java
+++ b/tests/src/org/aspectj/systemtest/ajc181/Ajc181Tests.java
@@ -14,6 +14,7 @@ import java.io.File;
import junit.framework.Test;
+import org.aspectj.apache.bcel.classfile.Method;
import org.aspectj.testing.XMLBasedAjcTestCase;
/**
@@ -21,6 +22,12 @@ import org.aspectj.testing.XMLBasedAjcTestCase;
*/
public class Ajc181Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
+ public void testBrokenAnnotations_377096() throws Exception {
+ runTest("broken annotations");
+ Method method = getMethodFromClass(getClassFrom(ajc.getSandboxDirectory(), "C"), "xxx");
+ method.getAnnotations();
+ }
+
public void testDefaultMethods_433744() {
runTest("default methods");
}
diff --git a/tests/src/org/aspectj/systemtest/ajc181/ajc181.xml b/tests/src/org/aspectj/systemtest/ajc181/ajc181.xml
index 67646093b..cd2066506 100644
--- a/tests/src/org/aspectj/systemtest/ajc181/ajc181.xml
+++ b/tests/src/org/aspectj/systemtest/ajc181/ajc181.xml
@@ -2,6 +2,12 @@
<suite>
+ <ajc-test dir="bugs181/377096" title="broken annotations">
+ <compile options="-1.5 -proceedOnError" files="A.java">
+ <message kind="error" text="The attribute wibble is undefined for the annotation type A"/>
+ </compile>
+ </ajc-test>
+
<ajc-test dir="bugs181/433744" title="default methods">
<compile options="-1.8" files="AnIterator.java"/>
</ajc-test>