On Thu, 26 Jan 2023 18:49:47 GMT, Eirik Bjorsnos <d...@openjdk.org> wrote:

> The TestTooManyEntries test was originally added to validate that ZIP64 files 
> with CEN sizes exceeding what ZipFile  supports are rejected with a 
> ZipException. The test does this by creating a large ZIP file (several 
> gigabytes) with many enties. Because this is resource intensive, the test is 
> currently tagged as manual.  (See #6927)
> 
> It would be useful to have a test which asserts the CEN size enforcement, but 
> without the CPU, disk, memory and run time requirements of 
> TestTooManyEntries.  Such a fast test can run non-manual,  without the 
> @requires and manual tags as found in TestTooManyEntries.
> 
> This PR adds the EndOfCenValidation test which creates sparse test ZIPs where 
> the CEN is "inflated" such that is matches the size declared in the "End of 
> central directory" records.
> 
> While thee sparse files look large, they consume very little disk space on 
> file systems supporting sparse files:
> 
> 
> 16 -rw-r--r--  1   2147483702 Feb  6 18:54 bad-cen-offset.zip
> 16 -rw-r--r--  1   2147483703 Feb  6 18:54 cen-size-too-large.zip
>  8 -rw-r--r--  1          132 Feb  6 18:54 invalid-zen-size.zip
> ``` 
> 
> For good measure, two new test methods are added to excercise the remaining 
> ZipExceptions which ZipFile may throw during validation of the END record .

This pull request has now been integrated.

Changeset: 65e01da9
Author:    Eirik Bjorsnos <eir...@gmail.com>
Committer: Lance Andersen <lan...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/65e01da925d49b77341551e38ffb7f0ea7141650
Stats:     238 lines in 1 file changed: 238 ins; 0 del; 0 mod

8304013: Add a fast, non-manual alternative to 
test/jdk/java/util/zip/ZipFile/TestTooManyEntries

Reviewed-by: lancea, martin

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

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

Reply via email to