Skip to content

Commit

Permalink
8320712: Rewrite BadFactoryTest in pure Java
Browse files Browse the repository at this point in the history
Backport-of: 66971600f7ba796ff5bb9714591c3faa0bb2249d
  • Loading branch information
GoeLin committed Mar 7, 2024
1 parent 40f0254 commit ab6e027
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 62 deletions.
28 changes: 26 additions & 2 deletions test/jdk/javax/script/JDK_8196959/BadFactoryTest.java
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
Expand All @@ -21,10 +21,34 @@
* questions.
*/

import org.junit.jupiter.api.Test;

import javax.script.ScriptEngineFactory;
import javax.script.ScriptEngineManager;
import java.util.Optional;

import static org.junit.jupiter.api.Assertions.assertTrue;

/*
* @test
* @bug 8196959 8320712
* @summary Verify that ScriptEngineManager can load BadFactory without throwing NPE
* @build BadFactory BadFactoryTest
* @run junit/othervm BadFactoryTest
* @run junit/othervm -Djava.security.manager=allow BadFactoryTest
*/
public class BadFactoryTest {
public static void main(String[] args) {

@Test
public void scriptEngineManagerShouldLoadBadFactory() {
// Check that ScriptEngineManager initializes even in the
// presence of a ScriptEngineFactory returning nulls
ScriptEngineManager m = new ScriptEngineManager();

// Sanity check that ScriptEngineManager actually found the BadFactory
Optional<ScriptEngineFactory> badFactory = m.getEngineFactories().stream()
.filter(fac -> fac.getClass() == BadFactory.class)
.findAny();
assertTrue(badFactory.isPresent(), "BadFactory not found");
}
}
60 changes: 0 additions & 60 deletions test/jdk/javax/script/JDK_8196959/BadFactoryTest.sh

This file was deleted.

1 comment on commit ab6e027

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.