-
Notifications
You must be signed in to change notification settings - Fork 86
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Switch to Java 22 + add basic test suite
The tests from Java 21 were copied to 22. Inactive ones were activated after their features under test were fixed/implemented. Preview ones were promotes to final ones for unnamed variables and patterns. TODO: Add tests for new Java 22 features and maybe adjust or amend existing feature tests, if preview or final characteristics have changed since Java 21. Signed-off-by: Alexander Kriegisch <[email protected]>
- Loading branch information
Showing
16 changed files
with
571 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...resources/org/aspectj/org/eclipse/jdt/internal/compiler/batch/messages_aspectj.properties
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
55 changes: 55 additions & 0 deletions
55
tests/src/test/java/org/aspectj/systemtest/ajc1922/Ajc1922TestsJava.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
/******************************************************************************* | ||
* Copyright (c) 2024 Contributors | ||
* All rights reserved. This program and the accompanying materials | ||
* are made available under the terms of the Eclipse Public License v 2.0 | ||
* which accompanies this distribution, and is available at | ||
* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt | ||
*******************************************************************************/ | ||
package org.aspectj.systemtest.ajc1922; | ||
|
||
import junit.framework.Test; | ||
import org.aspectj.apache.bcel.Constants; | ||
import org.aspectj.systemtest.ajc10x.Ajc10xTests; | ||
import org.aspectj.testing.JavaVersionSpecificXMLBasedAjcTestCase; | ||
import org.aspectj.testing.XMLBasedAjcTestCase; | ||
|
||
/** | ||
* @author Alexander Kriegisch | ||
*/ | ||
public class Ajc1922TestsJava extends JavaVersionSpecificXMLBasedAjcTestCase { | ||
|
||
private static final Constants.ClassFileVersion classFileVersion = Constants.ClassFileVersion.of(22); | ||
|
||
public Ajc1922TestsJava() { | ||
super(22); | ||
} | ||
|
||
public void testUnnamedPatterns() { | ||
runTest("unnamed patterns"); | ||
} | ||
|
||
public void testUnnamedPatternsAspect() { | ||
runTest("unnamed patterns aspect"); | ||
} | ||
|
||
/** | ||
* Same as {@link Ajc10xTests#test052()}, but compiled to target 22 instead of 1.4 | ||
*/ | ||
public void testUnderscoreInPointcutPattern1() { | ||
runTest("underscore can still be used in pointcut patterns on Java 21+ - 1"); | ||
} | ||
|
||
public void testUnderscoreInPointcutPattern2() { | ||
runTest("underscore can still be used in pointcut patterns on Java 21+ - 2"); | ||
} | ||
|
||
public static Test suite() { | ||
return XMLBasedAjcTestCase.loadSuite(Ajc1922TestsJava.class); | ||
} | ||
|
||
@Override | ||
protected java.net.URL getSpecFile() { | ||
return getClassResource("ajc1922.xml"); | ||
} | ||
|
||
} |
50 changes: 50 additions & 0 deletions
50
tests/src/test/java/org/aspectj/systemtest/ajc1922/AllTestsAspectJ1922.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
/******************************************************************************* | ||
* Copyright (c) 2024 Contributors | ||
* All rights reserved. This program and the accompanying materials | ||
* are made available under the terms of the Eclipse Public License v 2.0 | ||
* which accompanies this distribution, and is available at | ||
* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt | ||
*******************************************************************************/ | ||
package org.aspectj.systemtest.ajc1922; | ||
|
||
import junit.framework.Test; | ||
import junit.framework.TestSuite; | ||
import org.aspectj.tools.ant.taskdefs.AjcTask; | ||
import org.aspectj.util.LangUtil; | ||
|
||
// AspectJ_JDK_Update | ||
// - Copy 'ajc*' package with all classes to a new package, incrementing the version number in the package | ||
// - Rename all classes, incrementing version numbers | ||
// - Add this class to the suite in class AllTests19 | ||
// - Increment version numbers in strings, method calls and constants to the appropriate values, creating necessary | ||
// methods and constants classes providing them, if they do not exist yet | ||
// - Also increment references to 'ajc*.xml' and 'sanity-tests-*.xml' test definition, copying the previous | ||
// tests/src/test/resources/org/aspectj/systemtest/ajc* directory, incrementing all names and adjusting the XML | ||
// file contents appropriately | ||
// - Search for other 'AspectJ_JDK_Update' hints in the repository, also performing the necessary to-dos there | ||
// - Remove this comment from the previous class version after copying this one | ||
|
||
/** | ||
* @author Alexander Kriegisch | ||
*/ | ||
public class AllTestsAspectJ1922 { | ||
|
||
private static final int JAVA_VERSION = 22; | ||
|
||
public static Test suite() { | ||
TestSuite suite = new TestSuite("AspectJ 1.9.22 tests"); | ||
suite.addTest(Bugs1922Tests.suite()); | ||
if (LangUtil.isVMGreaterOrEqual(JAVA_VERSION)) { | ||
suite.addTest(SanityTestsJava22.suite()); | ||
suite.addTest(Ajc1922TestsJava.suite()); | ||
} | ||
|
||
// Do not run tests using a previous compiler's preview features anymore. They would all fail. | ||
if (AjcTask.JAVA_VERSION_MAX == JAVA_VERSION) { | ||
if (LangUtil.isVMGreaterOrEqual(JAVA_VERSION) && LangUtil.isVMLessOrEqual(JAVA_VERSION)) { | ||
suite.addTest(Java22PreviewFeaturesTests.suite()); | ||
} | ||
} | ||
return suite; | ||
} | ||
} |
31 changes: 31 additions & 0 deletions
31
tests/src/test/java/org/aspectj/systemtest/ajc1922/Bugs1922Tests.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
/******************************************************************************* | ||
* Copyright (c) 2024 Contributors | ||
* All rights reserved. This program and the accompanying materials | ||
* are made available under the terms of the Eclipse Public License v 2.0 | ||
* which accompanies this distribution, and is available at | ||
* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt | ||
*******************************************************************************/ | ||
package org.aspectj.systemtest.ajc1922; | ||
|
||
import junit.framework.Test; | ||
import org.aspectj.testing.XMLBasedAjcTestCase; | ||
|
||
/** | ||
* @author Alexander Kriegisch | ||
*/ | ||
public class Bugs1922Tests extends XMLBasedAjcTestCase { | ||
|
||
public void testDummy() { | ||
//runTest("dummy"); | ||
} | ||
|
||
public static Test suite() { | ||
return XMLBasedAjcTestCase.loadSuite(Bugs1922Tests.class); | ||
} | ||
|
||
@Override | ||
protected java.net.URL getSpecFile() { | ||
return getClassResource("ajc1922.xml"); | ||
} | ||
|
||
} |
57 changes: 57 additions & 0 deletions
57
tests/src/test/java/org/aspectj/systemtest/ajc1922/Java22PreviewFeaturesTests.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
/******************************************************************************* | ||
* Copyright (c) 2024 Contributors | ||
* All rights reserved. This program and the accompanying materials | ||
* are made available under the terms of the Eclipse Public License v 2.0 | ||
* which accompanies this distribution, and is available at | ||
* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt | ||
*******************************************************************************/ | ||
package org.aspectj.systemtest.ajc1922; | ||
|
||
import junit.framework.Test; | ||
import org.aspectj.systemtest.ajc10x.Ajc10xTests; | ||
import org.aspectj.testing.JavaVersionSpecificXMLBasedAjcTestCase; | ||
import org.aspectj.testing.XMLBasedAjcTestCase; | ||
|
||
/** | ||
* @author Alexander Kriegisch | ||
*/ | ||
public class Java22PreviewFeaturesTests extends JavaVersionSpecificXMLBasedAjcTestCase { | ||
|
||
public Java22PreviewFeaturesTests() { | ||
super(22, 22); | ||
} | ||
|
||
public void testStringPatterns() { | ||
runTest("string patterns"); | ||
} | ||
|
||
public void testStringPatternsAspect() { | ||
runTest("string patterns aspect"); | ||
} | ||
|
||
public void testNamedClassWithSimpleMainMethod() { | ||
runTest("named class with simple main method"); | ||
} | ||
|
||
public void testNamedAspectWithSimpleMainMethod() { | ||
runTest("named aspect with simple main method"); | ||
} | ||
|
||
/** | ||
* Still not implemented with the Java 21 release Eclipse 2023-12 (4.30), | ||
* see <a href="https://github.com/eclipse-jdt/eclipse.jdt.core/issues/1106">GitHub issue 1106</a>. | ||
*/ | ||
public void testUnnamedClassWithSimpleMainMethod() { | ||
runTest("unnamed class with simple main method"); | ||
} | ||
|
||
public static Test suite() { | ||
return XMLBasedAjcTestCase.loadSuite(Java22PreviewFeaturesTests.class); | ||
} | ||
|
||
@Override | ||
protected java.net.URL getSpecFile() { | ||
return getClassResource("ajc1922.xml"); | ||
} | ||
|
||
} |
Oops, something went wrong.