Skip to content

Commit 2f9c242

Browse files
committed
Reproduce #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 <[email protected]>
1 parent 3c6e30b commit 2f9c242

File tree

2 files changed

+64
-31
lines changed

2 files changed

+64
-31
lines changed

tests/features171/pr386341/X.aj

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,23 @@
66
* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
77
*
88
* Contributors:
9-
* Andy Clement - Repro test case
9+
* Andy Clement - repro test case
1010
* Abraham Nevado
11+
* Alexander Kriegisch - repro for GitHub 314
1112
*******************************************************************************/
1213

1314
aspect X {
1415
after(): execution(* *.*()) {
1516
System.out.println("It Worked-after");
1617
}
18+
1719
before(): execution(* *.*()) {
18-
System.out.println("It Worked-before");
20+
System.out.println("It Worked-before");
21+
}
22+
23+
// Around advice reproduces GitHub 314 in connection with per-classloader cache
24+
Object around(): execution(* *.*()) {
25+
System.out.println("It Worked-around");
26+
return proceed();
1927
}
2028
}

tests/src/test/resources/org/aspectj/systemtest/ajc171/newfeatures-tests.xml

Lines changed: 54 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,65 @@
22

33
<!-- AspectJ v1.7.1 Features Tests -->
44
<suite>
5+
56
<ajc-test dir="features171/pr386341" title="Test Shared Cache">
67
<compile files="A.java" options="-1.5"/>
7-
<compile files="X.aj" options="-1.5 -Xlint:ignore" />
8-
<run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./ -Daj.weaving.cache.impl=shared" >
9-
<stdout>
10-
<line text="It Worked-before"/>
11-
<line text="It Worked-after"/>
12-
</stdout>
8+
<compile files="X.aj" options="-1.5 -Xlint:ignore"/>
9+
<run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./ -Daj.weaving.cache.impl=shared">
10+
<stdout>
11+
<line text="It Worked-before"/>
12+
<line text="It Worked-around"/>
13+
<line text="It Worked-after"/>
14+
</stdout>
15+
</run>
16+
<!-- Repeat run to actually re-use the cached files, reproducing GitHub issue 314 -->
17+
<run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./ -Daj.weaving.cache.impl=shared">
18+
<stdout>
19+
<line text="It Worked-before"/>
20+
<line text="It Worked-around"/>
21+
<line text="It Worked-after"/>
22+
</stdout>
1323
</run>
14-
</ajc-test>
15-
16-
<ajc-test dir="features171/pr386341" title="Test Per ClassLoader Cache">
24+
</ajc-test>
25+
26+
<ajc-test dir="features171/pr386341" title="Test Per ClassLoader Cache">
1727
<compile files="A.java" options="-1.5"/>
18-
<compile files="X.aj" options="-1.5 -Xlint:ignore" />
19-
<run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./ -Daj.weaving.cache.impl=perloader" >
20-
<stdout>
21-
<line text="It Worked-before"/>
22-
<line text="It Worked-after"/>
23-
</stdout>
28+
<compile files="X.aj" options="-1.5 -Xlint:ignore"/>
29+
<run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./ -Daj.weaving.cache.impl=perloader">
30+
<stdout>
31+
<line text="It Worked-before"/>
32+
<line text="It Worked-around"/>
33+
<line text="It Worked-after"/>
34+
</stdout>
35+
</run>
36+
<!-- Repeat run to actually re-use the cached files, reproducing GitHub issue 314 -->
37+
<run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./ -Daj.weaving.cache.impl=perloader">
38+
<stdout>
39+
<line text="It Worked-before"/>
40+
<line text="It Worked-around"/>
41+
<line text="It Worked-after"/>
42+
</stdout>
2443
</run>
25-
</ajc-test>
26-
44+
</ajc-test>
45+
2746
<ajc-test dir="features171/pr386341" title="Test Default Cache Per ClassLoader">
2847
<compile files="A.java" options="-1.5"/>
29-
<compile files="X.aj" options="-1.5 -Xlint:ignore" />
30-
<run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./" >
31-
<stdout>
32-
<line text="It Worked-before"/>
33-
<line text="It Worked-after"/>
34-
</stdout>
48+
<compile files="X.aj" options="-1.5 -Xlint:ignore"/>
49+
<run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./">
50+
<stdout>
51+
<line text="It Worked-before"/>
52+
<line text="It Worked-around"/>
53+
<line text="It Worked-after"/>
54+
</stdout>
55+
</run>
56+
<!-- Repeat run to actually re-use the cached files, reproducing GitHub issue 314 -->
57+
<run class="A" ltw="aop.xml" usefullltw="true" vmargs="-Daj.weaving.cache.enabled=true -Daj.weaving.cache.dir=./">
58+
<stdout>
59+
<line text="It Worked-before"/>
60+
<line text="It Worked-around"/>
61+
<line text="It Worked-after"/>
62+
</stdout>
3563
</run>
36-
</ajc-test>
37-
38-
39-
40-
41-
</suite>
64+
</ajc-test>
65+
66+
</suite>

0 commit comments

Comments
 (0)