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

Robert Field robert.field at oracle.com
Fri May 13 07:29:19 UTC 2016


Updated langtools webrev:
     http://cr.openjdk.java.net/~rfield/8156101v1_lang.webrev/

-Robert


On 05/12/2016 11:41 PM, Robert Field wrote:
> 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