diff options
author | Alexander Kriegisch <Alexander@Kriegisch.name> | 2024-07-18 09:34:50 +0200 |
---|---|---|
committer | Alexander Kriegisch <Alexander@Kriegisch.name> | 2024-07-18 09:34:50 +0200 |
commit | 2f9c24225675bfdf49e875762abe3620f118fee0 (patch) | |
tree | ecf4911c901453d765c17f107e694c9493b220a2 | |
parent | 3c6e30bdd9a8cda263dbfc73a529af96f2b01e40 (diff) | |
download | aspectj-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.aj | 12 | ||||
-rw-r--r-- | tests/src/test/resources/org/aspectj/systemtest/ajc171/newfeatures-tests.xml | 83 |
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> |