RFR: 8320712: Rewrite BadFactoryTest in pure Java
Eirik Bjorsnos
duke at openjdk.org
Tue Nov 28 14:11:17 UTC 2023
Please review this PR which rewrites the BadFactoryTest to pure Java/JUnit. The test is currently implemented using a mix of shell script and a Java main method.
Reviewers may notice the following changes:
- The shell script file `BadFactoryTest.sh` has been retired and jtreg tags moved over to `BadFactoryTest.java`
- The main method has been replaced with a JUnit `@Test` method
- The service definition file used to be packaged into a jar file, now the source directory is instead directly added to the classpath using `@library /javax/script/JDK_8196959`
- The `@summary` tag was updated since the existing summary was slightly confusing
- To make jtreg happy, the SecurityManager-enabled invocation now runs with `-Djava.security.manager=allow` instead of just `-Djava.security.manager`
- A sanity check was added to verify that `ScriptEngineManager` can actually find and load `BadFactory`. Such a check would have detected the issue which inspired this rewrite, see #16585.
Verified by running:
% make test TEST="test/jdk/javax/script/JDK_8196959"
[..]
TEST TOTAL PASS FAIL ERROR
jtreg:test/jdk/javax/script/JDK_8196959 1 1 0 0
Note that the original issue JDK-8196959 is not available in JBS, so my understanding of what the original test does is based on code inspection.
-------------
Commit messages:
- Add the Java rewrite issue to the @bug list
- Merge branch 'master' into badfactory-java-rewritte
- Move jtreg tags from before to after imports
- Merge branch 'master' into badfactory-java-rewritte
- Update the @summary to describe the purpose of the test, not the BadFactory
- Add comment describing the initialization of ScriptEngineManager
- Implement BadFactoryTest in pure Java
Changes: https://git.openjdk.org/jdk/pull/16830/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=16830&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8320712
Stats: 87 lines in 2 files changed: 25 ins; 60 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/16830.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/16830/head:pull/16830
PR: https://git.openjdk.org/jdk/pull/16830
More information about the core-libs-dev
mailing list