diff options
author | Alexander Kriegisch <Alexander@Kriegisch.name> | 2023-01-09 17:53:30 +0100 |
---|---|---|
committer | Alexander Kriegisch <Alexander@Kriegisch.name> | 2023-01-15 14:41:51 +0100 |
commit | 9198f15f9bef7becb7dbce7c1a73e1e04b60cd18 (patch) | |
tree | e1a34862b679bdd3b7e3ccd254fd76a4bb8b607e | |
parent | be60722eab5c7f95d55df6f16baf41eaba671d85 (diff) | |
download | aspectj-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>
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> |