aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/test')
-rw-r--r--tests/src/test/java/org/aspectj/systemtest/ajc196/Ajc196Tests.java2
-rw-r--r--tests/src/test/java/org/aspectj/systemtest/ajc196/Java14PreviewFeaturesTests.java (renamed from tests/src/test/java/org/aspectj/systemtest/ajc196/Ajc196PreviewFeaturesTests.java)6
-rw-r--r--tests/src/test/java/org/aspectj/systemtest/ajc197/Ajc197Tests.java40
-rw-r--r--tests/src/test/java/org/aspectj/systemtest/ajc197/Ajc197TestsJava.java64
-rw-r--r--tests/src/test/java/org/aspectj/systemtest/ajc197/AllTestsAspectJ197.java9
-rw-r--r--tests/src/test/java/org/aspectj/systemtest/ajc197/Java16PreviewFeaturesTests.java (renamed from tests/src/test/java/org/aspectj/systemtest/ajc197/Ajc197PreviewFeaturesTests.java)27
-rw-r--r--tests/src/test/java/org/aspectj/systemtest/ajc197/SanityTestsJava16.java87
-rw-r--r--tests/src/test/resources/org/aspectj/systemtest/ajc197/ajc197.xml81
-rw-r--r--tests/src/test/resources/org/aspectj/systemtest/ajc197/sanity-tests-16.xml69
9 files changed, 275 insertions, 110 deletions
diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc196/Ajc196Tests.java b/tests/src/test/java/org/aspectj/systemtest/ajc196/Ajc196Tests.java
index 7fd25c04b..045ef6e47 100644
--- a/tests/src/test/java/org/aspectj/systemtest/ajc196/Ajc196Tests.java
+++ b/tests/src/test/java/org/aspectj/systemtest/ajc196/Ajc196Tests.java
@@ -37,8 +37,6 @@ public class Ajc196Tests extends XMLBasedAjcTestCaseForJava14OrLater {
checkVersion("Switch3", Constants.MAJOR_14, 0);
}
- // ---
-
public static Test suite() {
return XMLBasedAjcTestCase.loadSuite(Ajc196Tests.class);
}
diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc196/Ajc196PreviewFeaturesTests.java b/tests/src/test/java/org/aspectj/systemtest/ajc196/Java14PreviewFeaturesTests.java
index 56c95a265..28a2a75c9 100644
--- a/tests/src/test/java/org/aspectj/systemtest/ajc196/Ajc196PreviewFeaturesTests.java
+++ b/tests/src/test/java/org/aspectj/systemtest/ajc196/Java14PreviewFeaturesTests.java
@@ -16,7 +16,7 @@ import junit.framework.Test;
/**
* @author Alexander Kriegisch
*/
-public class Ajc196PreviewFeaturesTests extends XMLBasedAjcTestCaseForJava14Only {
+public class Java14PreviewFeaturesTests extends XMLBasedAjcTestCaseForJava14Only {
public void testRecords() {
runTest("simple record");
@@ -43,10 +43,8 @@ public class Ajc196PreviewFeaturesTests extends XMLBasedAjcTestCaseForJava14Only
runTest("textblock 2");
}
- // ---
-
public static Test suite() {
- return XMLBasedAjcTestCase.loadSuite(Ajc196PreviewFeaturesTests.class);
+ return XMLBasedAjcTestCase.loadSuite(Java14PreviewFeaturesTests.class);
}
@Override
diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc197/Ajc197Tests.java b/tests/src/test/java/org/aspectj/systemtest/ajc197/Ajc197Tests.java
deleted file mode 100644
index bd6600f49..000000000
--- a/tests/src/test/java/org/aspectj/systemtest/ajc197/Ajc197Tests.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2021 Contributors
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-package org.aspectj.systemtest.ajc197;
-
-import junit.framework.Test;
-import org.aspectj.testing.XMLBasedAjcTestCase;
-import org.aspectj.testing.XMLBasedAjcTestCaseForJava15OrLater;
-
-/**
- * @author Alexander Kriegisch
- */
-public class Ajc197Tests extends XMLBasedAjcTestCaseForJava15OrLater {
-
- public void testHiddenClass() {
- runTest("hidden class");
- }
-
- public void testTextBlock1() {
- runTest("textblock 1");
- }
-
- public void testTextBlock2() {
- runTest("textblock 2");
- }
-
- public static Test suite() {
- return XMLBasedAjcTestCase.loadSuite(Ajc197Tests.class);
- }
-
- @Override
- protected java.net.URL getSpecFile() {
- return getClassResource("ajc197.xml");
- }
-
-}
diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc197/Ajc197TestsJava.java b/tests/src/test/java/org/aspectj/systemtest/ajc197/Ajc197TestsJava.java
new file mode 100644
index 000000000..081da9736
--- /dev/null
+++ b/tests/src/test/java/org/aspectj/systemtest/ajc197/Ajc197TestsJava.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2021 Contributors
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.aspectj.systemtest.ajc197;
+
+import junit.framework.Test;
+import org.aspectj.apache.bcel.Constants;
+import org.aspectj.testing.XMLBasedAjcTestCase;
+import org.aspectj.testing.XMLBasedAjcTestCaseForJava16OrLater;
+
+/**
+ * @author Alexander Kriegisch
+ */
+public class Ajc197TestsJava extends XMLBasedAjcTestCaseForJava16OrLater {
+
+ public void testHiddenClass() {
+ runTest("hidden class");
+ checkVersion("HiddenClassDemo", Constants.MAJOR_16, Constants.MINOR_16);
+ }
+
+ public void testTextBlock1() {
+ runTest("textblock 1");
+ checkVersion("Code", Constants.MAJOR_16, Constants.MINOR_16);
+ }
+
+ public void testTextBlock2() {
+ runTest("textblock 2");
+ checkVersion("Code2", Constants.MAJOR_16, Constants.MINOR_16);
+ }
+
+ public void testRecords() {
+ runTest("simple record");
+ checkVersion("Person", Constants.MAJOR_16, Constants.MINOR_16);
+ }
+
+ public void testRecords2() {
+ runTest("using a record");
+ checkVersion("UsingPersonRecord", Constants.MAJOR_16, Constants.MINOR_16);
+ }
+
+ public void testAdvisingRecords() {
+ runTest("advising records");
+ checkVersion("TraceRecordComponents", Constants.MAJOR_16, Constants.MINOR_16);
+ }
+
+ public void testInstanceofPatterns() {
+ runTest("instanceof patterns");
+ checkVersion("Jep305", Constants.MAJOR_16, Constants.MINOR_16);
+ }
+
+ public static Test suite() {
+ return XMLBasedAjcTestCase.loadSuite(Ajc197TestsJava.class);
+ }
+
+ @Override
+ protected java.net.URL getSpecFile() {
+ return getClassResource("ajc197.xml");
+ }
+
+}
diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc197/AllTestsAspectJ197.java b/tests/src/test/java/org/aspectj/systemtest/ajc197/AllTestsAspectJ197.java
index 2b33099cb..995cd2976 100644
--- a/tests/src/test/java/org/aspectj/systemtest/ajc197/AllTestsAspectJ197.java
+++ b/tests/src/test/java/org/aspectj/systemtest/ajc197/AllTestsAspectJ197.java
@@ -19,11 +19,14 @@ public class AllTestsAspectJ197 {
public static Test suite() {
TestSuite suite = new TestSuite("AspectJ 1.9.7 tests");
if (LangUtil.is15VMOrGreater()) {
- suite.addTest(Ajc197Tests.suite());
suite.addTest(SanityTestsJava15.suite());
}
- if (LangUtil.is15VMOrGreater() && !LangUtil.is16VMOrGreater()) {
- suite.addTest(Ajc197PreviewFeaturesTests.suite());
+ if (LangUtil.is16VMOrGreater()) {
+ suite.addTest(SanityTestsJava16.suite());
+ suite.addTest(Ajc197TestsJava.suite());
+ }
+ if (LangUtil.is16VMOrGreater() && !LangUtil.is17VMOrGreater()) {
+ suite.addTest(Java16PreviewFeaturesTests.suite());
}
return suite;
}
diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc197/Ajc197PreviewFeaturesTests.java b/tests/src/test/java/org/aspectj/systemtest/ajc197/Java16PreviewFeaturesTests.java
index 2c26ca441..e0c68ccd4 100644
--- a/tests/src/test/java/org/aspectj/systemtest/ajc197/Ajc197PreviewFeaturesTests.java
+++ b/tests/src/test/java/org/aspectj/systemtest/ajc197/Java16PreviewFeaturesTests.java
@@ -10,44 +10,31 @@ package org.aspectj.systemtest.ajc197;
import junit.framework.Test;
import org.aspectj.apache.bcel.Constants;
import org.aspectj.testing.XMLBasedAjcTestCase;
-import org.aspectj.testing.XMLBasedAjcTestCaseForJava15Only;
+import org.aspectj.testing.XMLBasedAjcTestCaseForJava16Only;
/**
* @author Alexander Kriegisch
*/
-public class Ajc197PreviewFeaturesTests extends XMLBasedAjcTestCaseForJava15Only {
-
- public void testRecords() {
- runTest("simple record");
- checkVersion("Person", Constants.MAJOR_15, Constants.PREVIEW_MINOR_VERSION);
- }
-
- public void testRecords2() {
- runTest("using a record");
- }
-
- public void testInstanceofPatterns() {
- runTest("instanceof patterns");
- }
-
- public void testAdvisingRecords() {
- runTest("advising records");
- }
+public class Java16PreviewFeaturesTests extends XMLBasedAjcTestCaseForJava16Only {
public void testSealedClassWithLegalSubclasses() {
runTest("sealed class with legal subclasses");
+ checkVersion("Employee", Constants.MAJOR_16, Constants.PREVIEW_MINOR_VERSION);
+ checkVersion("Manager", Constants.MAJOR_16, Constants.PREVIEW_MINOR_VERSION);
}
public void testSealedClassWithIllegalSubclass() {
runTest("sealed class with illegal subclass");
+ checkVersion("Person", Constants.MAJOR_16, Constants.PREVIEW_MINOR_VERSION);
}
public void testWeaveSealedClass() {
runTest("weave sealed class");
+ checkVersion("PersonAspect", Constants.MAJOR_16, Constants.PREVIEW_MINOR_VERSION);
}
public static Test suite() {
- return XMLBasedAjcTestCase.loadSuite(Ajc197PreviewFeaturesTests.class);
+ return XMLBasedAjcTestCase.loadSuite(Java16PreviewFeaturesTests.class);
}
@Override
diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc197/SanityTestsJava16.java b/tests/src/test/java/org/aspectj/systemtest/ajc197/SanityTestsJava16.java
new file mode 100644
index 000000000..ed050f56b
--- /dev/null
+++ b/tests/src/test/java/org/aspectj/systemtest/ajc197/SanityTestsJava16.java
@@ -0,0 +1,87 @@
+/*******************************************************************************
+ * Copyright (c) 2021 Contributors
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.aspectj.systemtest.ajc197;
+
+import junit.framework.Test;
+import org.aspectj.testing.XMLBasedAjcTestCase;
+import org.aspectj.testing.XMLBasedAjcTestCaseForJava16OrLater;
+
+/*
+ * Some very trivial tests that help verify things are OK.
+ * These are a copy of the earlier Sanity Tests created for 1.6 but these supply the -10 option
+ * to check code generation and modification with that version specified.
+ *
+ * @author Alexander Kriegisch
+ */
+public class SanityTestsJava16 extends XMLBasedAjcTestCaseForJava16OrLater {
+
+ public static final int bytecode_version_for_JDK_level = 60;
+
+ // Incredibly trivial test programs that check the compiler works at all (these are easy-ish to debug)
+ public void testSimpleJava_A() {
+ runTest("simple - a");
+ }
+
+ public void testSimpleJava_B() {
+ runTest("simple - b");
+ }
+
+ public void testSimpleCode_C() {
+ runTest("simple - c");
+ }
+
+ public void testSimpleCode_D() {
+ runTest("simple - d");
+ }
+
+ public void testSimpleCode_E() {
+ runTest("simple - e");
+ }
+
+ public void testSimpleCode_F() {
+ runTest("simple - f");
+ }
+
+ public void testSimpleCode_G() {
+ runTest("simple - g");
+ }
+
+ public void testSimpleCode_H() {
+ runTest("simple - h", true);
+ }
+
+ public void testSimpleCode_I() {
+ runTest("simple - i");
+ }
+
+ public void testVersionCorrect1() {
+ runTest("simple - j");
+ checkVersion("A", bytecode_version_for_JDK_level, 0);
+ }
+
+ public void testVersionCorrect2() {
+ runTest("simple - k");
+ checkVersion("A", bytecode_version_for_JDK_level, 0);
+ }
+
+ public void testVersionCorrect4() {
+ runTest("simple - m");
+ // Must be 49.0 when -1.5 is specified
+ checkVersion("A", 49, 0);
+ }
+
+ public static Test suite() {
+ return XMLBasedAjcTestCase.loadSuite(SanityTestsJava16.class);
+ }
+
+ @Override
+ protected java.net.URL getSpecFile() {
+ return getClassResource("sanity-tests-16.xml");
+ }
+
+}
diff --git a/tests/src/test/resources/org/aspectj/systemtest/ajc197/ajc197.xml b/tests/src/test/resources/org/aspectj/systemtest/ajc197/ajc197.xml
index 6f6edaff5..7ba29cde5 100644
--- a/tests/src/test/resources/org/aspectj/systemtest/ajc197/ajc197.xml
+++ b/tests/src/test/resources/org/aspectj/systemtest/ajc197/ajc197.xml
@@ -2,9 +2,10 @@
<suite>
- <ajc-test dir="features197/java15" vm="15" title="hidden class">
- <compile files="HiddenClassDemo.java" options="-15" />
- <compile files="HiddenClass.java" options="-15 -outjar hidden.jar"/>
+ <!-- Java 15 final, no preview -->
+ <ajc-test dir="features197/java15" vm="16" title="hidden class">
+ <compile files="HiddenClassDemo.java" options="-16" />
+ <compile files="HiddenClass.java" options="-16 -outjar hidden.jar"/>
<run class="HiddenClassDemo" classpath="hidden.jar">
<stdout>
<line text="Hidden class name = HiddenClass/" />
@@ -15,14 +16,15 @@
</run>
</ajc-test>
- <ajc-test dir="features196/java14" vm="15" title="simple record">
- <compile files="Person.java" options="--enable-preview -15" />
+ <!-- Java 16 final, Java 15, 14 preview -->
+ <ajc-test dir="features196/java14" vm="16" title="simple record">
+ <compile files="Person.java" options="-16" />
</ajc-test>
- <ajc-test dir="features196/java14" vm="15" title="using a record">
- <compile files="Person.java UsingPersonRecord.java"
- options="--enable-preview -15" />
- <run class="UsingPersonRecord" vmargs="--enable-preview">
+ <!-- Java 16 final, Java 15, 14 preview -->
+ <ajc-test dir="features196/java14" vm="16" title="using a record">
+ <compile files="Person.java UsingPersonRecord.java" options="-16" />
+ <run class="UsingPersonRecord">
<stdout>
<line text="Person[firstName=A, lastName=B, age=99]" />
<line text="A" />
@@ -30,37 +32,33 @@
</run>
</ajc-test>
- <ajc-test dir="features196/java14" vm="15"
- title="instanceof patterns">
- <compile files="Jep305.java" options="--enable-preview -15" />
- <run class="Jep305" vmargs="--enable-preview">
+ <!-- Java 16 final, Java 15, 14 preview -->
+ <ajc-test dir="features196/java14" vm="16" title="advising records">
+ <compile files="TraceRecordComponents.aj Person.java UsingPersonRecord.java" options="-16" />
+ <run class="UsingPersonRecord">
<stdout>
- <line text="orange" />
- <line text="apple" />
+ <line text="execution(String Person.toString())" />
+ <line text="Person[firstName=A, lastName=B, age=99]" />
+ <line text="execution(String Person.firstName())" />
+ <line text="A" />
</stdout>
</run>
</ajc-test>
- <ajc-test dir="features196/java14" vm="15"
- title="advising records">
- <compile
- files="TraceRecordComponents.aj Person.java UsingPersonRecord.java"
- options="--enable-preview -15" />
- <run class="UsingPersonRecord" vmargs="--enable-preview">
+ <!-- Java 16 final, Java 15, 14 preview -->
+ <ajc-test dir="features196/java14" vm="16" title="instanceof patterns">
+ <compile files="Jep305.java" options="-16" />
+ <run class="Jep305">
<stdout>
- <line text="execution(String Person.toString())" />
- <line text="Person[firstName=A, lastName=B, age=99]" />
- <line text="execution(String Person.firstName())" />
- <line text="A" />
+ <line text="orange" />
+ <line text="apple" />
</stdout>
</run>
</ajc-test>
- <!-- textblock now in Java15 and doesn't need -enable-preview flag -->
- <ajc-test dir="features195/textblock" vm="15"
- title="textblock 1">
- <compile files="Code.java"
- options="-source 15">
+ <!-- Java 15 final, Java 14, 13 preview -->
+ <ajc-test dir="features195/textblock" vm="16" title="textblock 1">
+ <compile files="Code.java" options="-source 16">
</compile>
<run class="Code">
<stdout>
@@ -70,11 +68,9 @@
</run>
</ajc-test>
- <!-- textblock now in Java15 and doesn't need -enable-preview flag -->
- <ajc-test dir="features195/textblock" vm="15"
- title="textblock 2">
- <compile files="Code2.java"
- options="-source 15">
+ <!-- Java 15 final, Java 14, 13 preview -->
+ <ajc-test dir="features195/textblock" vm="16" title="textblock 2">
+ <compile files="Code2.java" options="-source 16">
</compile>
<run class="Code2">
<stdout>
@@ -84,18 +80,21 @@
</run>
</ajc-test>
- <ajc-test dir="features197/java15" vm="15" title="sealed class with legal subclasses">
- <compile files="Person.java Employee.java Manager.java" options="--enable-preview -15" />
+ <!-- Java ?? final, Java 16, 15 preview -->
+ <ajc-test dir="features197/java15" vm="16" title="sealed class with legal subclasses">
+ <compile files="Person.java Employee.java Manager.java" options="--enable-preview -16" />
</ajc-test>
- <ajc-test dir="features197/java15" vm="15" title="sealed class with illegal subclass">
- <compile files="Person.java Employee.java Manager.java PersonaNonGrata.java" options="--enable-preview -15">
+ <!-- Java ?? final, Java 16, 15 preview -->
+ <ajc-test dir="features197/java15" vm="16" title="sealed class with illegal subclass">
+ <compile files="Person.java Employee.java Manager.java PersonaNonGrata.java" options="--enable-preview -16">
<message kind="error" file="PersonaNonGrata.java" text="should be a permitted subtype of Person"/>
</compile>
</ajc-test>
- <ajc-test dir="features197/java15" vm="15" title="weave sealed class">
- <compile files="Person.java Employee.java Manager.java TopManager.java PersonAspect.aj" options="--enable-preview -15" />
+ <!-- Java ?? final, Java 16, 15 preview -->
+ <ajc-test dir="features197/java15" vm="16" title="weave sealed class">
+ <compile files="Person.java Employee.java Manager.java TopManager.java PersonAspect.aj" options="--enable-preview -16" />
<run class="TopManager" vmargs="--enable-preview">
<stdout>
<line text="Hello Sir John" />
diff --git a/tests/src/test/resources/org/aspectj/systemtest/ajc197/sanity-tests-16.xml b/tests/src/test/resources/org/aspectj/systemtest/ajc197/sanity-tests-16.xml
new file mode 100644
index 000000000..d6cb9ab8b
--- /dev/null
+++ b/tests/src/test/resources/org/aspectj/systemtest/ajc197/sanity-tests-16.xml
@@ -0,0 +1,69 @@
+<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[]>
+
+<suite>
+
+ <!-- empty class -->
+ <ajc-test dir="bugs160/simplejava" title="simple - a">
+ <compile files="SimpleA.java" options="-16"/>
+ </ajc-test>
+
+ <!-- class with one method -->
+ <ajc-test dir="bugs160/simplejava" title="simple - b">
+ <compile files="SimpleB.java" options="-16"/>
+ <run class="SimpleB"/>
+ </ajc-test>
+
+ <!-- empty aspect -->
+ <ajc-test dir="bugs160/simplejava" title="simple - c">
+ <compile files="SimpleC.java" options="-16"/>
+ </ajc-test>
+
+ <!-- simple before -->
+ <ajc-test dir="bugs160/simplejava" title="simple - d">
+ <compile files="SimpleD.java" options="-16"/>
+ </ajc-test>
+
+ <!-- simple itd field -->
+ <ajc-test dir="bugs160/simplejava" title="simple - e">
+ <compile files="SimpleE.java" options="-16"/>
+ </ajc-test>
+
+ <!-- aspect with main calling a static method -->
+ <ajc-test dir="bugs160/simplejava" title="simple - f">
+ <compile files="SimpleF.java" options="-16"/>
+ </ajc-test>
+
+ <!-- pertarget -->
+ <ajc-test dir="bugs160/simplejava" title="simple - g">
+ <compile files="SimpleG.java" options="-16"/>
+ </ajc-test>
+
+ <!-- generic ctor itds -->
+ <ajc-test dir="bugs160/simplejava" title="simple - h">
+ <compile files="SimpleH.java" options="-16"/>
+ </ajc-test>
+
+ <!-- overriding generic itd methods -->
+ <ajc-test dir="bugs160/simplejava" title="simple - i">
+ <compile files="SimpleI.java" options="-16"/>
+ </ajc-test>
+
+ <!-- check class file version is 60.0 (Java 16) -->
+ <ajc-test dir="bugs160/simplejava" title="simple - j">
+ <compile files="SimpleJ.java" options="-16"/>
+ </ajc-test>
+
+ <!-- check class file version is 60.0 (Java 16) -->
+ <ajc-test dir="bugs160/simplejava" title="simple - k">
+ <compile files="SimpleJ.java" options="-source 16"/>
+ </ajc-test>
+
+ <!-- check class file version is 49.0 -->
+ <ajc-test dir="bugs160/simplejava" title="simple - m">
+ <compile files="SimpleJ.java" options="-1.5"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs160/simplejava" title="simple - n">
+ <compile files="SimpleN.java" options="-16"/>
+ </ajc-test>
+</suite>