RFR 8202690: jdk/jshell/ToolBasicTest.java failed in testOpenFileOverHttp() and testOpenLocalFileUrl()
Chris Yin
xu.y.yin at oracle.com
Tue May 8 04:57:01 UTC 2018
Thank you Jan & Robert
Regards,
Chris
> On 7 May 2018, at 11:44 PM, Jan Lahoda <jan.lahoda at oracle.com> wrote:
>
> Looks OK to me.
>
> Jan
>
> On 7.5.2018 17:35, Robert Field wrote:
>> Thanks Chris!
>>
>> For those that like to see webrevs, here is one for Chris' change:
>>
>> http://cr.openjdk.java.net/~rfield/8202690v0.webrev/
>>
>> -Robert
>>
>>
>>
>> On 05/07/18 02:25, Chris Yin wrote:
>>> Please have a review for below suggested fix for 8202690 to handle
>>> windows platform correctly after 8199912, thanks
>>>
>>> bug: https://bugs.openjdk.java.net/browse/JDK-8202690
>>>
>>> Suggested fix as below:
>>>
>>> diff -r caf05d64138f
>>> src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java
>>> ---
>>> a/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.javaMon
>>> May 07 07:44:49 2018 +0530
>>> +++
>>> b/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.javaMon
>>> May 07 17:12:20 2018 +0800
>>> @@ -42,6 +42,7 @@
>>> import java.lang.module.ModuleReference;
>>> import java.net.MalformedURLException;
>>> import java.net.URI;
>>> +import java.net.URISyntaxException;
>>> import java.net.URL;
>>> import java.nio.charset.Charset;
>>> import java.nio.file.FileSystems;
>>> @@ -3000,19 +3001,34 @@
>>> regenerateOnDeath = false;
>>> scanner = new Scanner(cmdin);
>>> } else {
>>> - Path path = toPathResolvingUserHome(filename);
>>> + Path path = null;
>>> + URL url = null;
>>> String resource;
>>> - if (Files.exists(path)) {
>>> + try {
>>> + path = toPathResolvingUserHome(filename);
>>> + } catch (InvalidPathException ipe) {
>>> + try {
>>> + url = new URL(filename);
>>> + if
>>> (url.getProtocol().equalsIgnoreCase("file")) {
>>> + path = Paths.get(url.toURI());
>>> + }
>>> + } catch (MalformedURLException |
>>> URISyntaxException e) {
>>> + throw new FileNotFoundException(filename);
>>> + }
>>> + }
>>> + if (path != null && Files.exists(path)) {
>>> scanner = new Scanner(new
>>> FileReader(path.toString()));
>>> } else if ((resource = getResource(filename)) !=
>>> null) {
>>> scanner = new Scanner(new
>>> StringReader(resource));
>>> } else {
>>> - try {
>>> - var url = new URL(filename);
>>> - scanner = new Scanner(url.openStream());
>>> - } catch (MalformedURLException mue) {
>>> - throw new FileNotFoundException(filename);
>>> + if (url == null) {
>>> + try {
>>> + url = new URL(filename);
>>> + } catch (MalformedURLException mue) {
>>> + throw new
>>> FileNotFoundException(filename);
>>> + }
>>> }
>>> + scanner = new Scanner(url.openStream());
>>> }
>>> }
>>> try (var scannerIOContext = new
>>> ScannerIOContext(scanner)) {
>>> diff -r caf05d64138f test/langtools/jdk/jshell/ToolBasicTest.java
>>> --- a/test/langtools/jdk/jshell/ToolBasicTest.javaMon May 07 07:44:49
>>> 2018 +0530
>>> +++ b/test/langtools/jdk/jshell/ToolBasicTest.javaMon May 07 17:12:20
>>> 2018 +0800
>>> @@ -501,7 +501,7 @@
>>> compiler.writeToFile(path, "int a = 10;int b = 20;int c = a +
>>> b;\n");
>>> for (String s : new String[]{"/o", "/open"}) {
>>> test(
>>> - (a) -> assertCommand(a, s + " file://" +
>>> path.toString(), ""),
>>> + (a) -> assertCommand(a, s + " " + path.toUri(), ""),
>>> (a) -> assertCommand(a, "a", "a ==> 10"),
>>> (a) -> assertCommand(a, "b", "b ==> 20"),
>>> (a) -> assertCommand(a, "c", "c ==> 30")
>>>
>>>
>>> Regards,
>>> Chris
>>
More information about the kulla-dev
mailing list