]> source.dussan.org Git - aspectj.git/commitdiff
246281: test and fix
authoraclement <aclement>
Thu, 4 Sep 2008 21:06:18 +0000 (21:06 +0000)
committeraclement <aclement>
Thu, 4 Sep 2008 21:06:18 +0000 (21:06 +0000)
tests/multiIncremental/Annos/base/src/Anno.java [new file with mode: 0644]
tests/multiIncremental/Annos/base/src/Child.java [new file with mode: 0644]
tests/multiIncremental/Annos/base/src/Parent.java [new file with mode: 0644]
tests/multiIncremental/Annos/base/src/X.java [new file with mode: 0644]
tests/multiIncremental/Annos/inc1/src/Parent.java [new file with mode: 0644]
tests/multiIncremental/Annos/inc2/src/Parent.java [new file with mode: 0644]
tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java

diff --git a/tests/multiIncremental/Annos/base/src/Anno.java b/tests/multiIncremental/Annos/base/src/Anno.java
new file mode 100644 (file)
index 0000000..a722beb
--- /dev/null
@@ -0,0 +1,5 @@
+import java.lang.annotation.*;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Inherited
+@interface Anno {}
diff --git a/tests/multiIncremental/Annos/base/src/Child.java b/tests/multiIncremental/Annos/base/src/Child.java
new file mode 100644 (file)
index 0000000..b599988
--- /dev/null
@@ -0,0 +1,3 @@
+public class Child extends Parent {
+  public void bar() {}
+}
diff --git a/tests/multiIncremental/Annos/base/src/Parent.java b/tests/multiIncremental/Annos/base/src/Parent.java
new file mode 100644 (file)
index 0000000..b5f050b
--- /dev/null
@@ -0,0 +1,4 @@
+@Anno
+public class Parent {
+  public void foo() { }
+}
diff --git a/tests/multiIncremental/Annos/base/src/X.java b/tests/multiIncremental/Annos/base/src/X.java
new file mode 100644 (file)
index 0000000..4e8e5e8
--- /dev/null
@@ -0,0 +1,3 @@
+aspect X {
+  before(): execution(* (@Anno *).*(..)) {}
+}
diff --git a/tests/multiIncremental/Annos/inc1/src/Parent.java b/tests/multiIncremental/Annos/inc1/src/Parent.java
new file mode 100644 (file)
index 0000000..51b4f3b
--- /dev/null
@@ -0,0 +1,4 @@
+//@Anno
+public class Parent {
+  public void foo() { }
+}
diff --git a/tests/multiIncremental/Annos/inc2/src/Parent.java b/tests/multiIncremental/Annos/inc2/src/Parent.java
new file mode 100644 (file)
index 0000000..b5f050b
--- /dev/null
@@ -0,0 +1,4 @@
+@Anno
+public class Parent {
+  public void foo() { }
+}
index b22ae0f6c7679c7d83b83e7c48d4d757394a379f..d3a939b565ca705ddbf40c5172fe054c2656183c 100644 (file)
@@ -123,6 +123,26 @@ public class MultiProjectIncrementalTests extends AbstractMultiProjectIncrementa
                }
        }
 
+       public void testIncrementalAndAnnotations() {
+               initialiseProject("Annos");
+               build("Annos");
+               checkWasFullBuild();
+               checkCompileWeaveCount("Annos", 4, 4);
+               assertEquals("Should be 3 relationships ", 3, AsmManager.getDefault().getRelationshipMap().getEntries().size());
+
+               alter("Annos", "inc1"); // Comment out the annotation on Parent
+               build("Annos");
+               checkWasntFullBuild();
+               assertEquals("Should be no relationships ", 0, AsmManager.getDefault().getRelationshipMap().getEntries().size());
+               checkCompileWeaveCount("Annos", 3, 3);
+
+               alter("Annos", "inc2"); // Add the annotation back onto Parent
+               build("Annos");
+               checkWasntFullBuild();
+               assertEquals("Should be 3 relationships ", 3, AsmManager.getDefault().getRelationshipMap().getEntries().size());
+               checkCompileWeaveCount("Annos", 3, 3);
+       }
+
        public void testIncrementalItdsWithMultipleAspects_pr173729() {
                initialiseProject("PR173729");
                build("PR173729");