RFR: 8303972: Make test/jdk/jdk/nio/zipfs/TestLocOffsetFromZip64EF.java independent of the zip command line [v5]

Eirik Bjorsnos duke at openjdk.org
Fri Mar 17 18:36:02 UTC 2023


> Please review this PR which brings the currenly problem-listed test TestLocOffsetFromZip64EF back to life.
> 
> Instead of calling out to the `zip` command line, we produce a small-sized Zip64 file in the test itself. This file has the features  required to reproduce the ZipFileSystem issue, namely that the 'INFO-ZIP extended timestamp' field must come before  the 'Zip64 extended information'  field. (This would casue ZipFileSystem to read the LOC at position 0xFFFFFFFF).
> 
> This speed up the test (from 50s to 3s on my Macbook Pro), saves 4GB disk space during builds removes a dependency on the `zip` command in OS/distros.
> 
> Seee [JDK-8301183](https://bugs.openjdk.org/browse/JDK-8301183) for details on the problem-listing.

Eirik Bjorsnos has updated the pull request incrementally with one additional commit since the last revision:

  Add extra entry as a sanity check. Extract some constants for sizes and extract method makeOpaqueExtraField to allow some more in-depth commenting. Move extra field processing until after the LOC headers are written, such that this information only occurs in the CEN

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/12979/files
  - new: https://git.openjdk.org/jdk/pull/12979/files/22eba5c3..2fc841df

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=12979&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=12979&range=03-04

  Stats: 72 lines in 1 file changed: 48 ins; 7 del; 17 mod
  Patch: https://git.openjdk.org/jdk/pull/12979.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/12979/head:pull/12979

PR: https://git.openjdk.org/jdk/pull/12979


More information about the nio-dev mailing list