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