aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kriegisch <Alexander@Kriegisch.name>2023-01-09 17:53:30 +0100
committerAlexander Kriegisch <Alexander@Kriegisch.name>2023-01-15 14:41:51 +0100
commit9198f15f9bef7becb7dbce7c1a73e1e04b60cd18 (patch)
treee1a34862b679bdd3b7e3ccd254fd76a4bb8b607e
parentbe60722eab5c7f95d55df6f16baf41eaba671d85 (diff)
downloadaspectj-9198f15f9bef7becb7dbce7c1a73e1e04b60cd18.tar.gz
aspectj-9198f15f9bef7becb7dbce7c1a73e1e04b60cd18.zip
Expand regression tests for GitHub bug #24
More test cases were added for - multi-dimensional arrays, - primitive type arrays. Relates to https://github.com/eclipse/org.aspectj/issues/24. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
-rw-r--r--tests/bugs1919/github_24/ExactlyMatchingAspect.aj16
-rw-r--r--tests/bugs1919/github_24/FuzzilyMatchingAspect.aj16
-rw-r--r--tests/bugs1919/github_24/MaybeMissingClass.java24
-rw-r--r--tests/src/test/resources/org/aspectj/systemtest/ajc1919/ajc1919.xml69
4 files changed, 112 insertions, 13 deletions
diff --git a/tests/bugs1919/github_24/ExactlyMatchingAspect.aj b/tests/bugs1919/github_24/ExactlyMatchingAspect.aj
index 8a78394c3..a884d00fc 100644
--- a/tests/bugs1919/github_24/ExactlyMatchingAspect.aj
+++ b/tests/bugs1919/github_24/ExactlyMatchingAspect.aj
@@ -6,4 +6,20 @@ public aspect ExactlyMatchingAspect {
after() : execution(public MaybeMissingClass[] MaybeMissingClass.*()) {
System.out.println(thisJoinPoint);
}
+
+ after() : execution(public MaybeMissingClass[][] MaybeMissingClass.*()) {
+ System.out.println(thisJoinPoint);
+ }
+
+ after() : execution(public int MaybeMissingClass.*()) {
+ System.out.println(thisJoinPoint);
+ }
+
+ after() : execution(public int[] MaybeMissingClass.*()) {
+ System.out.println(thisJoinPoint);
+ }
+
+ after() : execution(public int[][] MaybeMissingClass.*()) {
+ System.out.println(thisJoinPoint);
+ }
}
diff --git a/tests/bugs1919/github_24/FuzzilyMatchingAspect.aj b/tests/bugs1919/github_24/FuzzilyMatchingAspect.aj
index 999282873..d7c32a70a 100644
--- a/tests/bugs1919/github_24/FuzzilyMatchingAspect.aj
+++ b/tests/bugs1919/github_24/FuzzilyMatchingAspect.aj
@@ -6,4 +6,20 @@ public aspect FuzzilyMatchingAspect {
after() : execution(public MaybeMissing*[] MaybeMissing*.*()) {
System.out.println(thisJoinPoint);
}
+
+ after() : execution(public MaybeMissing*[][] MaybeMissing*.*()) {
+ System.out.println(thisJoinPoint);
+ }
+
+ after() : execution(public in* MaybeMissing*.*()) {
+ System.out.println(thisJoinPoint);
+ }
+
+ after() : execution(public in*[] MaybeMissing*.*()) {
+ System.out.println(thisJoinPoint);
+ }
+
+ after() : execution(public in*[][] MaybeMissing*.*()) {
+ System.out.println(thisJoinPoint);
+ }
}
diff --git a/tests/bugs1919/github_24/MaybeMissingClass.java b/tests/bugs1919/github_24/MaybeMissingClass.java
index 3fa5fa274..17952583b 100644
--- a/tests/bugs1919/github_24/MaybeMissingClass.java
+++ b/tests/bugs1919/github_24/MaybeMissingClass.java
@@ -2,6 +2,10 @@ public class MaybeMissingClass {
public static void main(String[] args) {
f1();
f2();
+ f3();
+ f4();
+ f5();
+ f6();
}
public static MaybeMissingClass f1() {
@@ -13,4 +17,24 @@ public class MaybeMissingClass {
System.out.println("MaybeMissingClass.f2");
return null;
}
+
+ public static MaybeMissingClass[][] f3() {
+ System.out.println("MaybeMissingClass.f3");
+ return null;
+ }
+
+ public static int f4() {
+ System.out.println("MaybeMissingClass.f4");
+ return 0;
+ }
+
+ public static int[] f5() {
+ System.out.println("MaybeMissingClass.f5");
+ return new int[2];
+ }
+
+ public static int[][] f6() {
+ System.out.println("MaybeMissingClass.f6");
+ return new int[2][2];
+ }
}
diff --git a/tests/src/test/resources/org/aspectj/systemtest/ajc1919/ajc1919.xml b/tests/src/test/resources/org/aspectj/systemtest/ajc1919/ajc1919.xml
index 67c0b6328..15f5d18d6 100644
--- a/tests/src/test/resources/org/aspectj/systemtest/ajc1919/ajc1919.xml
+++ b/tests/src/test/resources/org/aspectj/systemtest/ajc1919/ajc1919.xml
@@ -229,8 +229,12 @@
<ajc-test dir="bugs1919/github_24" vm="1.5" title="exact array type matching, aspect compiled together with target class">
<compile files="ExactlyMatchingAspect.aj MaybeMissingClass.java" options="-1.5 -showWeaveInfo">
<!-- Even before the bugfix, in this case weaving worked as expected -->
- <message kind="weave" text="method-execution(MaybeMissingClass MaybeMissingClass.f1())'"/>
- <message kind="weave" text="method-execution(MaybeMissingClass[] MaybeMissingClass.f2())'"/>
+ <message kind="weave" text="method-execution(MaybeMissingClass MaybeMissingClass.f1())"/>
+ <message kind="weave" text="method-execution(MaybeMissingClass[] MaybeMissingClass.f2())"/>
+ <message kind="weave" text="method-execution(MaybeMissingClass[][] MaybeMissingClass.f3())"/>
+ <message kind="weave" text="method-execution(int MaybeMissingClass.f4())"/>
+ <message kind="weave" text="method-execution(int[] MaybeMissingClass.f5())"/>
+ <message kind="weave" text="method-execution(int[][] MaybeMissingClass.f6())"/>
</compile>
<run class="MaybeMissingClass">
<stdout>
@@ -238,6 +242,14 @@
<line text="execution(MaybeMissingClass MaybeMissingClass.f1())"/>
<line text="MaybeMissingClass.f2"/>
<line text="execution(MaybeMissingClass[] MaybeMissingClass.f2())"/>
+ <line text="MaybeMissingClass.f3"/>
+ <line text="execution(MaybeMissingClass[][] MaybeMissingClass.f3())"/>
+ <line text="MaybeMissingClass.f4"/>
+ <line text="execution(int MaybeMissingClass.f4())"/>
+ <line text="MaybeMissingClass.f5"/>
+ <line text="execution(int[] MaybeMissingClass.f5())"/>
+ <line text="MaybeMissingClass.f6"/>
+ <line text="execution(int[][] MaybeMissingClass.f6())"/>
</stdout>
</run>
</ajc-test>
@@ -249,16 +261,16 @@
<ajc-test dir="bugs1919/github_24" vm="1.5" title="exact array type matching, aspect compiled separately from target class">
<compile files="ExactlyMatchingAspect.aj" options="-1.5 -showWeaveInfo" outjar="aspect.jar">
<message kind="warning" text="no match for this type name: MaybeMissingClass [Xlint:invalidAbsoluteTypeName]"/>
- <message kind="warning" text="no match for this type name: MaybeMissingClass [Xlint:invalidAbsoluteTypeName]"/>
- <message kind="warning" text="no match for this type name: MaybeMissingClass [Xlint:invalidAbsoluteTypeName]"/>
- <message kind="warning" text="no match for this type name: MaybeMissingClass [Xlint:invalidAbsoluteTypeName]"/>
- <message kind="warning" text="advice defined in ExactlyMatchingAspect has not been applied [Xlint:adviceDidNotMatch]"/>
<message kind="warning" text="advice defined in ExactlyMatchingAspect has not been applied [Xlint:adviceDidNotMatch]"/>
</compile>
<compile files="MaybeMissingClass.java" options="-1.5 -showWeaveInfo" aspectpath="aspect.jar">
<!-- Before the bugfix, f1 would be woven twice, f2 not at all-->
- <message kind="weave" text="method-execution(MaybeMissingClass MaybeMissingClass.f1())'"/>
- <message kind="weave" text="method-execution(MaybeMissingClass[] MaybeMissingClass.f2())'"/>
+ <message kind="weave" text="method-execution(MaybeMissingClass MaybeMissingClass.f1())"/>
+ <message kind="weave" text="method-execution(MaybeMissingClass[] MaybeMissingClass.f2())"/>
+ <message kind="weave" text="method-execution(MaybeMissingClass[][] MaybeMissingClass.f3())"/>
+ <message kind="weave" text="method-execution(int MaybeMissingClass.f4())"/>
+ <message kind="weave" text="method-execution(int[] MaybeMissingClass.f5())"/>
+ <message kind="weave" text="method-execution(int[][] MaybeMissingClass.f6())"/>
</compile>
<run class="MaybeMissingClass" classpath="aspect.jar">
<stdout>
@@ -266,6 +278,14 @@
<line text="execution(MaybeMissingClass MaybeMissingClass.f1())"/>
<line text="MaybeMissingClass.f2"/>
<line text="execution(MaybeMissingClass[] MaybeMissingClass.f2())"/>
+ <line text="MaybeMissingClass.f3"/>
+ <line text="execution(MaybeMissingClass[][] MaybeMissingClass.f3())"/>
+ <line text="MaybeMissingClass.f4"/>
+ <line text="execution(int MaybeMissingClass.f4())"/>
+ <line text="MaybeMissingClass.f5"/>
+ <line text="execution(int[] MaybeMissingClass.f5())"/>
+ <line text="MaybeMissingClass.f6"/>
+ <line text="execution(int[][] MaybeMissingClass.f6())"/>
</stdout>
</run>
</ajc-test>
@@ -277,8 +297,12 @@
<ajc-test dir="bugs1919/github_24" vm="1.5" title="fuzzy array type matching, aspect compiled together with target class">
<compile files="FuzzilyMatchingAspect.aj MaybeMissingClass.java" options="-1.5 -showWeaveInfo">
<!-- Before the bugfix, both f1 and f2 would be woven twice -->
- <message kind="weave" text="method-execution(MaybeMissingClass MaybeMissingClass.f1())'"/>
- <message kind="weave" text="method-execution(MaybeMissingClass[] MaybeMissingClass.f2())'"/>
+ <message kind="weave" text="method-execution(MaybeMissingClass MaybeMissingClass.f1())"/>
+ <message kind="weave" text="method-execution(MaybeMissingClass[] MaybeMissingClass.f2())"/>
+ <message kind="weave" text="method-execution(MaybeMissingClass[][] MaybeMissingClass.f3())"/>
+ <message kind="weave" text="method-execution(int MaybeMissingClass.f4())"/>
+ <message kind="weave" text="method-execution(int[] MaybeMissingClass.f5())"/>
+ <message kind="weave" text="method-execution(int[][] MaybeMissingClass.f6())"/>
</compile>
<run class="MaybeMissingClass">
<stdout>
@@ -286,6 +310,14 @@
<line text="execution(MaybeMissingClass MaybeMissingClass.f1())"/>
<line text="MaybeMissingClass.f2"/>
<line text="execution(MaybeMissingClass[] MaybeMissingClass.f2())"/>
+ <line text="MaybeMissingClass.f3"/>
+ <line text="execution(MaybeMissingClass[][] MaybeMissingClass.f3())"/>
+ <line text="MaybeMissingClass.f4"/>
+ <line text="execution(int MaybeMissingClass.f4())"/>
+ <line text="MaybeMissingClass.f5"/>
+ <line text="execution(int[] MaybeMissingClass.f5())"/>
+ <line text="MaybeMissingClass.f6"/>
+ <line text="execution(int[][] MaybeMissingClass.f6())"/>
</stdout>
</run>
</ajc-test>
@@ -297,12 +329,15 @@
<ajc-test dir="bugs1919/github_24" vm="1.5" title="fuzzy array type matching, aspect compiled separately from target class">
<compile files="FuzzilyMatchingAspect.aj" options="-1.5 -showWeaveInfo" outjar="aspect.jar">
<message kind="warning" text="advice defined in FuzzilyMatchingAspect has not been applied [Xlint:adviceDidNotMatch]"/>
- <message kind="warning" text="advice defined in FuzzilyMatchingAspect has not been applied [Xlint:adviceDidNotMatch]"/>
</compile>
<compile files="MaybeMissingClass.java" options="-1.5 -showWeaveInfo" aspectpath="aspect.jar">
<!-- Before the bugfix, both f1 and f2 would be woven twice -->
- <message kind="weave" text="method-execution(MaybeMissingClass MaybeMissingClass.f1())'"/>
- <message kind="weave" text="method-execution(MaybeMissingClass[] MaybeMissingClass.f2())'"/>
+ <message kind="weave" text="method-execution(MaybeMissingClass MaybeMissingClass.f1())"/>
+ <message kind="weave" text="method-execution(MaybeMissingClass[] MaybeMissingClass.f2())"/>
+ <message kind="weave" text="method-execution(MaybeMissingClass[][] MaybeMissingClass.f3())"/>
+ <message kind="weave" text="method-execution(int MaybeMissingClass.f4())"/>
+ <message kind="weave" text="method-execution(int[] MaybeMissingClass.f5())"/>
+ <message kind="weave" text="method-execution(int[][] MaybeMissingClass.f6())"/>
</compile>
<run class="MaybeMissingClass" classpath="aspect.jar">
<stdout>
@@ -310,6 +345,14 @@
<line text="execution(MaybeMissingClass MaybeMissingClass.f1())"/>
<line text="MaybeMissingClass.f2"/>
<line text="execution(MaybeMissingClass[] MaybeMissingClass.f2())"/>
+ <line text="MaybeMissingClass.f3"/>
+ <line text="execution(MaybeMissingClass[][] MaybeMissingClass.f3())"/>
+ <line text="MaybeMissingClass.f4"/>
+ <line text="execution(int MaybeMissingClass.f4())"/>
+ <line text="MaybeMissingClass.f5"/>
+ <line text="execution(int[] MaybeMissingClass.f5())"/>
+ <line text="MaybeMissingClass.f6"/>
+ <line text="execution(int[][] MaybeMissingClass.f6())"/>
</stdout>
</run>
</ajc-test>