aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Remove AspectJ Browser (ajbrowser) code and documentationAlexander Kriegisch2022-04-023-46/+35
| | | | | | | Closes #148. TODO: Should more AJDE stuff be removed? Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Set version to 1.9.10-SNAPSHOTAlexander Kriegisch2022-03-311-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Release AspectJ version 1.9.9.1V1_9_9_1Alexander Kriegisch2022-03-311-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* UseJDKExtendedCharsets.java: add "how to fix test" commentAlexander Kriegisch2022-03-311-0/+7
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Revert "Fix more LTW tests"Alexander Kriegisch2022-03-312-30/+3
| | | | This reverts commit 63d5e3e893bd149245465de1610716930998dec8.
* Revert "AtAjLTWTests: 4 test cases switched to 'useFullLTW' mode"Alexander Kriegisch2022-03-312-14/+13
| | | | This reverts commit 5288ef1c1c8be2df85e59740f41622f4cfb9d899.
* Revert "A few dozen more tests need 'useFullLTW' mode"Alexander Kriegisch2022-03-3113-145/+145
| | | | This reverts commit 8c15d83a466843b5dba8ba454329baaca0080cc5.
* POM bug: separate jvm.arg.allowSecurityManager from jvm.arg.addOpensAlexander Kriegisch2022-03-311-1/+4
| | | | | | | | | | | | Before, this was in a single variable, and for JDK 18+, the security manager setting also falsely overwrote the '--add-opens' command. This was the root cause for a few dozen LTW tests to fail on JDK 18, if they were not run in full LTW mode, i.e. in a separate JVM. After this fix, it should be possible to revert the corresponding commits, at least their non-cosmetic parts. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add some smoke test cases for '--add-reads' and '--add-modules'Alexander Kriegisch2022-03-319-4/+129
| | | | | | | in order to show that the compiler options basically work. The test cases are by no means exhaustive and simply verify that it works at all. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add test case + experimental fix for AJC option '--add-exports'Alexander Kriegisch2022-03-273-0/+30
| | | | | | | I am expecting the test case to pass, but other tests to fail. This temporary commit is meant to create feedback from GitHub CI test runs. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Set version to 1.9.10-SNAPSHOTAlexander Kriegisch2022-03-241-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Set version to 1.9.9V1_9_9Alexander Kriegisch2022-03-241-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add AllTestsAspectJ199.suite() to AllTests19Alexander Kriegisch2022-03-241-0/+2
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Upgrade to latest JDT Core Java 18 changes, activate J18 preview testsAlexander Kriegisch2022-03-247-73/+170
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Rename testGitHub_125 to testCompilerCanReopenClosedJARs_gh125Alexander Kriegisch2022-03-231-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Move GH-128 tests from 1.9.8 to 1.9.9 bugs test suite after mergeAlexander Kriegisch2022-03-2311-333/+333
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Merge branch 'master' into java-18Alexander Kriegisch2022-03-239-0/+493
|\ | | | | | | | | | | # Conflicts: # tests/src/test/java/org/aspectj/systemtest/ajc198/Bugs198Tests.java # tests/src/test/resources/org/aspectj/systemtest/ajc198/ajc198.xml
| * Ignore testAsyncProceedNestedAroundAdviceThreadPool_gh128 for nowAlexander Kriegisch2022-03-231-1/+2
| | | | | | | | | | | | Out of scope for PR #132, future work for issue #141. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Name annotation vs native style aspects uniformly in github_128 testsAlexander Kriegisch2022-03-235-12/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Trying to find the difference between byte code generated by AJC for functionally identical annotation vs native style aspect, I move the aspects into subdirectories in order to be able to name them identically. This way, when decompiling them with javap or Fernflower it is easier to diff them later. Why the decompilation? Because for the thread pool testing scenario native syntax passes while annotation syntax fails. I.e., we need to find the difference. That can be done by reading source code, if you know where to look, or by starting with reverse engineering in order to first understand more and look at the code later. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Expand "asynchronous proceed for nested around-advice" to 4 scenarios:Alexander Kriegisch2022-03-237-14/+343
| | | | | | | | | | | | | | | | | | | | | | 1. @AspectJ syntax, threads created inside advice code 2. @AspectJ syntax, submit runnable to thread pool 3. native syntax, threads created inside advice code 4. native syntax, submit runnable to thread pool Scenarios 1, 3 and 4 are passing, while 2 is failing. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
| * Add test "asynchronous proceed for nested around-advice chain"Alexander Kriegisch2022-03-237-0/+168
| | | | | | | | | | | | Relates to #128. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* | Fix more LTW testsAlexander Kriegisch2022-03-232-3/+30
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* | A few dozen more tests need 'useFullLTW' modeAlexander Kriegisch2022-03-2314-147/+147
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* | AtAjLTWTests: 4 test cases switched to 'useFullLTW' modeAlexander Kriegisch2022-03-232-13/+14
| | | | | | | | | | | | | | | | After the Java 18 JDT Core upgrade, some LTW tests are failing and have to be switched from in-process to full LTW mode due to them now obviously calling some code paths which need '--add-opens'. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* | Prepare code, tests and docs for Java 18Alexander Kriegisch2022-03-2120-125/+647
|/ | | | | | | | | | | | | | | | | | | | - JDT Core dependency in pom.xml - Constants.java - LangUtil.java - AjcTask.java - messages_aspectj.properties - XMLBasedAjcTestCaseForJava17Only.java - XMLBasedAjcTestCaseForJava18*.java - tests/bugs199 - tests/features199 - JavaVersionCompatibility.md - README-199.html - GitHub CI build Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Regression test for #125: Bugs198Tests.testGitHub_125Alexander Kriegisch2022-02-234-3/+48
| | | | | | | | | | | | | | | | | | | | | | | | This test fails when run against AspectJ 1.9.8 with JDT Core 1.9.8.RC3. It passes when using the latest JDT Core 1.9.9-SNAPSHOT. It sets system property 'org.aspectj.weaver.openarchives=20', provoking open classpath JAR file exhaustion when compiling a simple class with AJC, i.e. JARs are being forcibly closed and automatically re-opened, as soon as they are needed. Before the JDT Core bugfix, this test causes: java.lang.NullPointerException at ....compiler.batch.ClasspathJmod.getModulesDeclaringPackage With the bugfix incorporated into AspectJ Tools, the problem is gone. Note: New test dependency 'io.github.bmuskalla:scoped-system-properties' helps to test compilation with the temporarily changed global system property in isolation, saving the environment in a thread-local variable and later cleanly restoring the original values again. If we ever switch to parallel test execution, this would otherwise influence other tests and potentially cause weird side effects. Better safe than sorry. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Move some tests from Ajc198TestsJava to Bugs198TestsAlexander Kriegisch2022-02-232-20/+20
| | | | | | | | | They were accidentally stored in thw wrong test class, not just because they are bug regression tests, not 1.9.8 features, but also because they are meant to work on Java 5+, not on Java 17+ like the ones in Ajc198TestsJava. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Set version to 1.9.9-SNAPSHOTAlexander Kriegisch2022-02-111-1/+1
|
* Set version to 1.9.8V1_9_8Alexander Kriegisch2022-02-111-1/+1
|
* Improve annotation style if pointcut handlingAndy Clement2022-01-315-15/+188
| | | | | | | | | This fixes: - negating annotation style if() pointcuts doesn't work - annotation style if() pointcut not able to use a binding that is not exposed Fixes #120,#122
* Fix annotation style support for if(true) and if(false)Andy Clement2022-01-174-0/+95
| | | | | | | | | | The documentation specifies annotation style pointcuts can use if(false) or if(true) and not require a boolean return value and body for the @Pointcut annotated method but it doesn't work without this change to validation that recognizes the situation. Fixes #115
* Add test for Java 11 constant-dynamicAlexander Kriegisch2022-01-087-0/+140
| | | | | | Relates to #68. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Merge pull request #102 from turbanoff/trim_trailing_whitespacesAndy Clement2021-11-304-7/+7
|\ | | | | Trim trailing whitespaces.
| * Trim trailing whitespaces.Andrey Turbanov2021-11-204-7/+7
| | | | | | | | | | Trailing whitespaces are useless. Most of code-styles forbids them. Most of editors always trim them on save. I propose to clean up project from trailing whitespaces in all java files at once.
* | Merge pull request #101 from turbanoff/use_StringBuilder_instead_of_StringBufferAndy Clement2021-11-306-15/+15
|\ \ | | | | | | Replace uses of StringBuffer with StringBuilder.
| * | Replace uses of StringBuffer with StringBuilder.Andrey Turbanov2021-11-206-15/+15
| |/ | | | | | | StringBuffer is a legacy synchronized class. StringBuilder is a direct replacement to StringBuffer which generally have better performance.
* | Add forgotten Bugs198Tests to test suiteAlexander Kriegisch2021-11-262-0/+6
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* | Set version to 1.9.8-SNAPSHOTAlexander Kriegisch2021-11-261-1/+1
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* | Set version to 1.9.8.RC3V1_9_8_RC3Alexander Kriegisch2021-11-261-1/+1
| | | | | | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* | Incorporate JDT Core fix + test for #105Alexander Kriegisch2021-11-266-0/+73
|/ | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Set version to 1.9.8-SNAPSHOTAlexander Kriegisch2021-10-081-1/+1
|
* Release version to 1.9.8.RC1V1_9_8_RC1Alexander Kriegisch2021-10-081-1/+1
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Fix Java17PreviewFeaturesTests (locale-specific floating-point output)Alexander Kriegisch2021-10-083-4/+6
| | | | | | | The test worked on my local workstation with German locale, but not on GitHub with English locale. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Update ECJ version, activate Java 17 preview features testsAlexander Kriegisch2021-10-023-22/+18
| | | | | | | After JDT Core (ECJ) was updated to the final Java 17 feature set, the tests now pass as expected. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add + activate some Java 17 testsAlexander Kriegisch2021-09-077-62/+239
| | | | | | | | | | | | | - Fix one fault sanity test configuration - Deactivate Java 16 preview tests (no longer supported by Java 17 compiler) - Test sealed classes as final on Java 17 (no longer preview) - Add tests for JEP 406, pattern matching for switch (preview). At present, the beta 17 branch of JDT Core does not handle the tested features and expected compile errors correctly yet, so I had to temporarily deactivate test execution, only printing TODO messages. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Test comment cosmeticsAlexander Kriegisch2021-09-079-9/+12
| | | | Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Refactor AnnoBinding test class used by Ajc1612Tests some moreAlexander Kriegisch2021-08-081-20/+22
| | | | | | | Improve improved general logging, error messages, variable naming and indentation, making the code of class AnnoBinding a bit more readable. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Improve flaky test in Ajc1612Tests furtherAlexander Kriegisch2021-08-081-5/+5
| | | | | | | | | | | | | | | By using System.nanoTime() instead of currentTimeMillis(), the flakiness even with the original 10,000 rounds is significantly lower than before. Making my IDE repeat the test until failure, it took on average 150 runs to make it fail. So, the more accurate timing helps. With 100,000 rounds, it was even more stable, but eventually I could make it fail. With 1,000,000 rounds however, even running the test 500x could not make it fail. So for all practical purposes, I think the test is reasonably stable now. Closes #83. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Stabilise flaky test in Ajc1612TestsAlexander Kriegisch2021-08-051-2/+4
| | | | | | | | | | | By increasing from 10,000 to 1,000,000 rounds, the times compared for performance become considerably longer (but still in the tens or hundreds or milliseconds), decreasing the probability of the test failing due to CPU load or some other random effect. Closes #83. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Add integration test for '--release N' compiler optionAlexander Kriegisch2021-06-264-0/+101
| | | | | | Relates to #70 Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>