Thanks Martin!

webrev has been updated as suggested (the old webrev has been renamed to webrev00)

http://cr.openjdk.java.net/~sherman/8186464/webrev

The only thing is not updated is the centot, we are using it as "int" anyway at other place.
Let's keep it for couple more years till the 32-bit is totally gone.

-Sherman

On 9/5/17, 5:51 PM, Martin Buchholz wrote:
Thanks for doing this.
I'm also hoping to contribute some testing effort, but time ... time ...
This Looks Good To Me, but as always I have comments.
---
I wouldn't create an echo process. Just create a zip subprocess and write the bytes from java to its stdin.
  181         ProcessBuilder echo = new ProcessBuilder("echo", "hello");
---
You should check whether there's a usable zip program, e.g. I once wrote code like this:

if (! new File("/usr/bin/perl").canExecute()
  182         ProcessBuilder zip = new ProcessBuilder("zip", path.toString().toString(), 
"-");
oh wait, now I see
  196         } catch (IOException x) {
  197             // ignore, probably from process.start() for "Cannot run 
program"
well ... I would still add some checks for /usr/bin/zip and elide the catch.
---


"""Always specify the charset""" (here "ASCII" is fine).

  163                 if (!"hello".equals(new String(zf.getInputStream(new 
ZipEntry("hello"))
  164                                                  .readAllBytes())))

---
Can we say something like
// We must always check for a zip64 EOCD record; it is always permitted to be present
1125                         // try if we have a zip64 end;
---
Maybe
// end64 candidate found
1139                             // end64 found,
---
It's 2017. Time to just make centot a long?
1152                             end.centot = (int)centot64; // assume total<  
2g
---
Here's a typo to fix:
entires

On Fri, Sep 1, 2017 at 4:17 PM, Xueming Shen <xueming.s...@oracle.com <mailto:xueming.s...@oracle.com>> wrote:

    On 8/22/17, 5:54 PM, Martin Buchholz wrote:


    On Tue, Aug 22, 2017 at 3:27 PM, Xueming Shen
    <xueming.s...@oracle.com <mailto:xueming.s...@oracle.com>> wrote:


        How about to add an option to our zipfs to force the ZIP64
        end record when
        enabled. Harmless if not specified.


    I agree that adding more options for testability is good.  Since
    our users are likely to need such things as well, I'd also like
    to see such features become public, analogous to zip's -fz- flag.

    OTOH, interoperability testing is very valuable, so despite the
    troubles involved writing tests that involve both jdk and zipinfo
    code, I think we should do it.

    Martin,

    I have added a test case that tests "echo hello | zip infozip.zip
    -" via pb.startPipeline()
    in ReadZip.java, which should add some coverage for the
    "interoperability testing".

    Would you please help take a look?

    http://cr.openjdk.java.net/~sherman/8186464/webrev/
    <http://cr.openjdk.java.net/%7Esherman/8186464/webrev/>

    Thanks,
    Sherman



Reply via email to