RFR 8156101: JShell SPI: Provide a pluggable execution control SPI

Robert Field robert.field at oracle.com
Fri May 13 06:41:52 UTC 2016


Attached is a test for this functionality utilizing a local 
implementation of ExecutionControl courtesy of Grigory Ptashko.
Thank you Grigory!

All files in test/jdk/jshell.

This test needs one method added to KullaTesting --

diff -r c51b40933e0c test/jdk/jshell/KullaTesting.java
--- a/test/jdk/jshell/KullaTesting.java    Wed May 11 20:28:22 2016 +0000
+++ b/test/jdk/jshell/KullaTesting.java    Thu May 12 23:31:14 2016 -0700
@@ -72,6 +72,7 @@
  import static jdk.jshell.Snippet.Status.*;
  import static org.testng.Assert.*;
  import static jdk.jshell.Snippet.SubKind.METHOD_SUBKIND;
+import jdk.jshell.spi.ExecutionControl;

  public class KullaTesting {

@@ -166,6 +167,21 @@
          classpath = new ArrayList<>();
      }

+    public void setUp(ExecutionControl ec) {
+        inStream = new TestingInputStream();
+        outStream = new ByteArrayOutputStream();
+        errStream = new ByteArrayOutputStream();
+        state = JShell.builder()
+                .executionEngine(ec)
+                .in(inStream)
+                .out(new PrintStream(outStream))
+                .err(new PrintStream(errStream))
+                .build();
+        allSnippets = new LinkedHashSet<>();
+        idToSnippet = new LinkedHashMap<>();
+        classpath = new ArrayList<>();
+    }
+
      @AfterMethod
      public void tearDown() {
          if (state != null) state.close();


On 05/11/2016 10:53 PM, Robert Field wrote:
> Please review the new Service Provider Interface for using alternate 
> execution implements.
>
> Bug:
>     https://bugs.openjdk.java.net/browse/JDK-8156101
>
> Webrevs:
>     http://cr.openjdk.java.net/~rfield/8156101v0_lang.webrev/
>     http://cr.openjdk.java.net/~rfield/8156101v0_ws.webrev/
>
> Javadoc:
>     http://cr.openjdk.java.net/~rfield/jshell_spi/
>
> Note: The SPI is tested since it is used by the default JDI 
> implementation (which has no special access).  However, tests using an 
> alternative execution engine will be included.
>
> Thanks,
> Robert
>



More information about the kulla-dev mailing list