[15] RFR(S) : 6501010 : test/java/io/File/GetXSpace.java fails on Windows

Igor Ignatyev igor.ignatyev at oracle.com
Tue Aug 11 17:33:22 UTC 2020


Hi Arno,

We haven't seen such failures in our infra, I guess we just need to add ^ to the beginning of the pattern. please file a bug and send a proper RFR for it and will be happy to run the patch in our testing infra for you.

Cheers,
-- Igor

> On Aug 11, 2020, at 6:39 AM, Zeller, Arno <arno.zeller at sap.com> wrote:
> 
> Hi Igor,
> 
> after our push I see test/java/io/File/GetXSpace.java failing on our Windows test machines. The issue seems to be that the 'df' call produces several lines of output on my windows machine and the pattern uses \n as line-ending. 
> 
> In a short test I changed the regex to match $ instead of  \n in the end and added the MULTILINE flag. 
> 
> --------------------------------------------------------------------------
> diff -r 16625b2b71f7 test/jdk/java/io/File/GetXSpace.java
> --- a/test/jdk/java/io/File/GetXSpace.java      Tue Aug 11 07:29:45 2020 -0400
> +++ b/test/jdk/java/io/File/GetXSpace.java      Tue Aug 11 15:35:15 2020 +0200
> @@ -55,7 +55,7 @@
>     private static final boolean IS_WIN = OS_NAME.startsWith("Windows");
> 
>     // FileSystem Total Used Available Use% MountedOn
> -    private static final Pattern DF_PATTERN = Pattern.compile("([^\\s]+)\\s+(\\d+)\\s+\\d+\\s+(\\d+)\\s+\\d+%\\s+([^\\s].*)\n");
> +    private static final Pattern DF_PATTERN = Pattern.compile("([^\\s]+)\\s+(\\d+)\\s+\\d+\\s+(\\d+)\\s+\\d+%\\s+([^\\s].*)$", Pattern.MULTILINE);
> 
>     private static int fail = 0;
>     private static int pass = 0;
> --------------------------------------------------------------------------
> 
> Now the test passes for me and in our infrastructure. I did not completely understand why the old pattern did loose the first character in the line - but this seems to fix the issue.
> 
> Before my change:
> ----------System.out:(24/869)----------
> --- Testing df
> C:/cygwin64      998257472 664791328 333466144      67% /
> K:               262144000 129993392 132150608      50% /cygdrive/k
> O:               734003200 641218112  92785088      88% /cygdrive/o
> 
> 
> SecurityManager = null
> C:/cygwin64:
>  df   total= 1022215651328 free =            0 usable = 341469331456
>  getX total= 1022215651328 free = 341469323264 usable = 341469323264
> ::
>  df   total= 268435456000 free =            0 usable = 135322222592
>  getX total=            0 free =            0 usable =            0
> FAILED
> 
> 
> After my change:
> --- Testing df
> C:/cygwin64      998257472 665305100 332952372      67% /
> K:               262144000 129993392 132150608      50% /cygdrive/k
> O:               734003200 641211140  92792060      88% /cygdrive/o
> 
> 
> SecurityManager = null
> C:/cygwin64:
>  df   total= 1022215651328 free =            0 usable = 340943228928
>  getX total= 1022215651328 free = 340943286272 usable = 340943286272
> K::
>  df   total= 268435456000 free =            0 usable = 135322222592
>  getX total= 268435456000 free = 135322222592 usable = 135322222592
> O::
>  df   total= 751619276800 free =            0 usable =  95019069440
>  getX total= 751619276800 free =  95019069440 usable =  95019069440
> ...
> ------------------------------------------
> 
> 
> The drives K: and O: are mapped network drives.
> Do you see something similar in your landscape? Can you perhaps try to reproduce this?
> 
> Best regards,
> Arno
> 
>> -----Original Message-----
>> From: core-libs-dev <core-libs-dev-retn at openjdk.java.net> On Behalf Of Igor
>> Ignatyev
>> Sent: Freitag, 31. Juli 2020 04:45
>> To: Brian Burkhalter <brian.burkhalter at oracle.com>
>> Cc: core-libs-dev <core-libs-dev at openjdk.java.net>
>> Subject: Re: [15] RFR(S) : 6501010 : test/java/io/File/GetXSpace.java fails on
>> Windows
>> 
>> Hi Brian,
>> 
>> thanks for your review. I've decided to push into jdk/jdk instead of jdk15.
>> please let me know if you think this patch needs to be in jdk15, and I'll backport
>> it there.
>> 
>> Cheers,
>> -- Igor
>> 
>>> On Jul 30, 2020, at 2:39 PM, Brian Burkhalter
>> <brian.burkhalter at oracle.com> wrote:
>>> 
>>> Hi Igor,
>>> 
>>> This test looks all right to me.
>>> 
>>> Sorry for the late review.
>>> 
>>> Thanks,
>>> 
>>> Brian
>>> 
>>>> On Jul 20, 2020, at 11:28 AM, Igor Ignatyev <igor.ignatyev at oracle.com
>> <mailto:igor.ignatyev at oracle.com>> wrote:
>>>> 
>>>> http://cr.openjdk.java.net/~iignatyev//6501010/webrev.00
>> <http://cr.openjdk.java.net/~iignatyev//6501010/webrev.00>
>>>>> 98 lines changed: 18 ins; 31 del; 49 mod;
>>>> 
>>>> Hi all,
>>>> 
>>>> could you please review this small fix to make java/io/File/GetXSpace.java
>> work again on windows?
>>>> 
>>>> the test has been updated to work under cygwin, which includes the
>> following changes:
>>>> - GetXSpace.sh accepts CYGWIN_* as known OS and sets windows path to
>> TMP var
>>>> - uses the same regexp to parse df on windows as on other platforms
>>>> - but uses 'FileSystem' field as Space's name, as opposed to 'MountedOn' on
>> *nix, as on cygwin, MountedOn is cygwin path, while FileSystem is
>> corresponding windows path, and the test expect Space's name to be
>> appropriate path
>>> 
> 



More information about the core-libs-dev mailing list