aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kriegisch <Alexander@Kriegisch.name>2024-07-18 09:34:50 +0200
committerAlexander Kriegisch <Alexander@Kriegisch.name>2024-07-18 09:34:50 +0200
commit2f9c24225675bfdf49e875762abe3620f118fee0 (patch)
treeecf4911c901453d765c17f107e694c9493b220a2
parent3c6e30bdd9a8cda263dbfc73a529af96f2b01e40 (diff)
downloadaspectj-gh-314.tar.gz
aspectj-gh-314.zip
Reproduce #314gh-314
by refining and extending org.aspectj.systemtest.ajc171.NewFeatures, also considering around advice types and repeated weaving, actually re-using the cache. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
-rw-r--r--tests/features171/pr386341/X.aj12
-rw-r--r--tests/src/test/resources/org/aspectj/systemtest/ajc171/newfeatures-tests.xml83
2 files changed, 64 insertions, 31 deletions
diff --git a/tests/features171/pr386341/X.aj b/tests/features171/pr386341/X.aj
index 3f467b539..2dbab09a2 100644
--- a/tests/features171/pr386341/X.aj
+++ b/tests/features171/pr386341/X.aj
@@ -6,15 +6,23 @@
* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
*
* Contributors:
- * Andy Clement - Repro test case
+ * Andy Clement - repro test case
* Abraham Nevado
+ * Alexander Kriegisch - repro for GitHub 314
*******************************************************************************/
aspect X {
after(): execution(* *.*()) {
System.out.println("It Worked-after");
}
+
before(): execution(* *.*()) {
- System.out.println("It Worked-before");
+ System.out.println("It Worked-before");
+ }
+
+ // Around advice reproduces GitHub 314 in connection with per-classloader cache
+ Object around(): execution(* *.*()) {
+ System.out.println("It Worked-around");
+ return proceed();
}
}
diff --git a/tests/src/test/resources/org/aspectj/systemtest/ajc171/newfeatures-tests.xml b/tests/src/test/resources/org/aspectj/systemtest/ajc171/newfeatures-tests.xml
index 32f0f1845..6a18626e7 100644
--- a/tests/src/test/resources/org/aspectj/systemtest/ajc171/newfeatures-tests.xml
+++ b/tests/src/test/resources/org/aspectj/systemtest/ajc171/newfeatures-tests.xml
@@ -2,40 +2,65 @@
<!-- AspectJ v1.7.1 Features Tests -->
<suite>
+
<ajc-test dir="features171/pr386341" title="Test Shared Cache">
<compile files="A.java" options="-1.5"/>
- <compile files="X.aj" options="-1.5 -Xlint:ignore" />
- <run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./ -Daj.weaving.cache.impl=shared" >
- <stdout>
- <line text="It Worked-before"/>
- <line text="It Worked-after"/>
- </stdout>
+ <compile files="X.aj" options="-1.5 -Xlint:ignore"/>
+ <run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./ -Daj.weaving.cache.impl=shared">
+ <stdout>
+ <line text="It Worked-before"/>
+ <line text="It Worked-around"/>
+ <line text="It Worked-after"/>
+ </stdout>
+ </run>
+ <!-- Repeat run to actually re-use the cached files, reproducing GitHub issue 314 -->
+ <run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./ -Daj.weaving.cache.impl=shared">
+ <stdout>
+ <line text="It Worked-before"/>
+ <line text="It Worked-around"/>
+ <line text="It Worked-after"/>
+ </stdout>
</run>
- </ajc-test>
-
- <ajc-test dir="features171/pr386341" title="Test Per ClassLoader Cache">
+ </ajc-test>
+
+ <ajc-test dir="features171/pr386341" title="Test Per ClassLoader Cache">
<compile files="A.java" options="-1.5"/>
- <compile files="X.aj" options="-1.5 -Xlint:ignore" />
- <run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./ -Daj.weaving.cache.impl=perloader" >
- <stdout>
- <line text="It Worked-before"/>
- <line text="It Worked-after"/>
- </stdout>
+ <compile files="X.aj" options="-1.5 -Xlint:ignore"/>
+ <run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./ -Daj.weaving.cache.impl=perloader">
+ <stdout>
+ <line text="It Worked-before"/>
+ <line text="It Worked-around"/>
+ <line text="It Worked-after"/>
+ </stdout>
+ </run>
+ <!-- Repeat run to actually re-use the cached files, reproducing GitHub issue 314 -->
+ <run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./ -Daj.weaving.cache.impl=perloader">
+ <stdout>
+ <line text="It Worked-before"/>
+ <line text="It Worked-around"/>
+ <line text="It Worked-after"/>
+ </stdout>
</run>
- </ajc-test>
-
+ </ajc-test>
+
<ajc-test dir="features171/pr386341" title="Test Default Cache Per ClassLoader">
<compile files="A.java" options="-1.5"/>
- <compile files="X.aj" options="-1.5 -Xlint:ignore" />
- <run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./" >
- <stdout>
- <line text="It Worked-before"/>
- <line text="It Worked-after"/>
- </stdout>
+ <compile files="X.aj" options="-1.5 -Xlint:ignore"/>
+ <run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./">
+ <stdout>
+ <line text="It Worked-before"/>
+ <line text="It Worked-around"/>
+ <line text="It Worked-after"/>
+ </stdout>
+ </run>
+ <!-- Repeat run to actually re-use the cached files, reproducing GitHub issue 314 -->
+ <run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./">
+ <stdout>
+ <line text="It Worked-before"/>
+ <line text="It Worked-around"/>
+ <line text="It Worked-after"/>
+ </stdout>
</run>
- </ajc-test>
-
-
-
-
-</suite> \ No newline at end of file
+ </ajc-test>
+
+</suite>