On Wed, 15 Nov 2023 07:41:32 GMT, Jaikiran Pai <j...@openjdk.org> wrote:

> Overall, this is a very good improvement to the test and looks good to me. I 
> just a have a trivial comment about a typo in a code comment, which I've 
> added inline.

Thanks for your review, Jaikiran! With these latest, comment-only changes, this 
PR is now looking for a sponsor.

> test/jdk/java/util/zip/ZipFile/CenSizeTooLarge.java line 78:
> 
>> 76:     public static final int NAME_LENGTH = 10;
>> 77: 
>> 78:     // Use a shared LocalDataTime on all entries to save processing time
> 
> Hello Eirik, there appears to be a typo in the comment here. It should have 
> been `LocalDateTime`.

Fixed

> test/jdk/java/util/zip/ZipFile/CenSizeTooLarge.java line 204:
> 
>> 202:                 channel.position(position);
>> 203:                 // Check for last CEN record
>> 204:                 if (Arrays.equals(LAST_CEN_COMMENT_BYTES, 0, 
>> LAST_CEN_COMMENT_BYTES.length, b, off, len)) {
> 
> The way the instance of a `SparseOutputStream` is used in this test, it gets 
> passed to the constructor of `ZipOutputStream`. That then means that there is 
> no buffering involved when bytes are written out to the output stream 
> internally by `ZipOutputStream`. The implementation of `ZipOutputStream` 
> writes out the `ZipEntry`'s comment (if any) in one single `write(byte[])` 
> call on the outputstream, so it's guaranteed that the `byte[] b` passed in 
> here will actually have the entire comment (from `off` to `len`). So this 
> `Arrays.equals(...)` check is then guaranteed to pass (when that specific 
> entry does get written out). So this check looks good to me.

Thanks, this was a nice observation. I added a short comment to the 
SparseOutputStream noting the instances should be passed directly, without any 
buffering.

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

PR Comment: https://git.openjdk.org/jdk/pull/12991#issuecomment-1813123375
PR Review Comment: https://git.openjdk.org/jdk/pull/12991#discussion_r1394673748
PR Review Comment: https://git.openjdk.org/jdk/pull/12991#discussion_r1394674564

Reply via email to