test/jdk/jshell/FailOverExecutionControlTest.java
Print this page
@@ -21,84 +21,41 @@
* questions.
*/
/*
* @test
- * @bug 8131029
- * @summary Test that fail-over works for FailOverExecutionControl
- * @modules jdk.jshell/jdk.internal.jshell.jdi
+ * @bug 8131029 8160127 8159935
+ * @summary Test that fail-over works for fail-over ExecutionControl generators.
+ * @modules jdk.jshell/jdk.jshell.execution
* jdk.jshell/jdk.jshell.spi
* @build KullaTesting ExecutionControlTestBase
* @run testng FailOverExecutionControlTest
*/
-
-import java.util.Collection;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
-import jdk.internal.jshell.jdi.FailOverExecutionControl;
-import jdk.internal.jshell.jdi.JDIExecutionControl;
-import jdk.jshell.JShellException;
+import jdk.jshell.execution.JDIDefaultExecutionControl;
import jdk.jshell.spi.ExecutionControl;
import jdk.jshell.spi.ExecutionEnv;
+import static jdk.jshell.execution.Util.failOverExecutionControlGenerator;
@Test
public class FailOverExecutionControlTest extends ExecutionControlTestBase {
@BeforeMethod
@Override
public void setUp() {
- setUp(new FailOverExecutionControl(
- new AlwaysFailingExecutionControl(),
- new AlwaysFailingExecutionControl(),
- new JDIExecutionControl()));
+ setUp(builder -> builder.executionEngine(failOverExecutionControlGenerator(
+ new AlwaysFailingGenerator(),
+ new AlwaysFailingGenerator(),
+ JDIDefaultExecutionControl.launch())));
}
- class AlwaysFailingExecutionControl implements ExecutionControl {
-
- @Override
- public void start(ExecutionEnv env) throws Exception {
- throw new UnsupportedOperationException("This operation intentionally broken.");
- }
-
- @Override
- public void close() {
- throw new UnsupportedOperationException("This operation intentionally broken.");
- }
-
- @Override
- public boolean addToClasspath(String path) {
- throw new UnsupportedOperationException("This operation intentionally broken.");
- }
-
- @Override
- public String invoke(String classname, String methodname) throws JShellException {
- throw new UnsupportedOperationException("This operation intentionally broken.");
- }
-
- @Override
- public boolean load(Collection<String> classes) {
- throw new UnsupportedOperationException("This operation intentionally broken.");
- }
-
- @Override
- public boolean redefine(Collection<String> classes) {
- throw new UnsupportedOperationException("This operation intentionally broken.");
- }
-
- @Override
- public ClassStatus getClassStatus(String classname) {
- throw new UnsupportedOperationException("This operation intentionally broken.");
- }
-
- @Override
- public void stop() {
- throw new UnsupportedOperationException("This operation intentionally broken.");
- }
+ class AlwaysFailingGenerator implements ExecutionControl.Generator {
@Override
- public String varValue(String classname, String varname) {
+ public ExecutionControl generate(ExecutionEnv env) throws UnsupportedOperationException {
throw new UnsupportedOperationException("This operation intentionally broken.");
}
}
}