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