RFR: 8320712: Rewrite BadFactoryTest in pure Java

Jaikiran Pai jpai at openjdk.org
Wed Jan 24 05:06:47 UTC 2024


On Mon, 27 Nov 2023 17:44:24 GMT, Eirik Bjørsnøs <eirbjo at openjdk.org> wrote:

> 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.

Hello Eirik, what's being proposed here looks good to me. It's good that this is being migrated from a shell based test to a java based test. So if you are interested in pursuing this further, please reopen the PR.

The only part that is unclear to me is the use of `@library /javax/script/JDK_8196959`. Does the test fail if that isn't added?

-------------

PR Comment: https://git.openjdk.org/jdk/pull/16830#issuecomment-1907384336


More information about the core-libs-dev mailing list