[ 
https://issues.apache.org/jira/browse/COMPRESS-560?focusedWorklogId=516964&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-516964
 ]

ASF GitHub Bot logged work on COMPRESS-560:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 26/Nov/20 09:42
            Start Date: 26/Nov/20 09:42
    Worklog Time Spent: 10m 
      Work Description: PeterAlfredLee commented on a change in pull request 
#153:
URL: https://github.com/apache/commons-compress/pull/153#discussion_r530895371



##########
File path: 
src/test/java/org/apache/commons/compress/archivers/tar/SparseFilesTest.java
##########
@@ -73,54 +75,57 @@ public void testPaxGNU() throws Throwable {
 
     @Test
     public void testExtractSparseTarsOnWindows() throws IOException {
-        if (!isOnWindows) {
-            return;
-        }
+        assumeTrue(isOnWindows);

Review comment:
       Maybe we can make it more detailed with something like :
   ```
   assumeTrue("This test should be ignored if not running on 
Windows",isOnWindows);
   ```

##########
File path: 
src/test/java/org/apache/commons/compress/archivers/tar/SparseFilesTest.java
##########
@@ -129,14 +134,13 @@ public void testExtractOldGNU() throws IOException, 
InterruptedException {
 
     @Test
     public void testExtractExtendedOldGNU() throws IOException, 
InterruptedException {
-        if (isOnWindows) {
-            return;
-        }
+        assumeFalse(isOnWindows);

Review comment:
       Same one.

##########
File path: 
src/test/java/org/apache/commons/compress/archivers/tar/SparseFilesTest.java
##########
@@ -169,31 +173,32 @@ public void testExtractExtendedOldGNU() throws 
IOException, InterruptedException
 
     @Test
     public void testExtractPaxGNU() throws IOException, InterruptedException {
-        if (isOnWindows) {
-            return;
-        }
+        assumeFalse(isOnWindows);

Review comment:
       Same one.

##########
File path: 
src/test/java/org/apache/commons/compress/archivers/tar/SparseFilesTest.java
##########
@@ -73,54 +75,57 @@ public void testPaxGNU() throws Throwable {
 
     @Test
     public void testExtractSparseTarsOnWindows() throws IOException {
-        if (!isOnWindows) {
-            return;
-        }
+        assumeTrue(isOnWindows);
 
         final File oldGNUSparseTar = getFile("oldgnu_sparse.tar");
         final File paxGNUSparseTar = getFile("pax_gnu_sparse.tar");
         try (TarArchiveInputStream paxGNUSparseInputStream = new 
TarArchiveInputStream(new FileInputStream(paxGNUSparseTar))) {
 
             // compare between old GNU and PAX 0.0
-            paxGNUSparseInputStream.getNextTarEntry();
+            TarArchiveEntry paxGNUEntry = 
paxGNUSparseInputStream.getNextTarEntry();
+            assertTrue(paxGNUSparseInputStream.canReadEntryData(paxGNUEntry));
             try (TarArchiveInputStream oldGNUSparseInputStream = new 
TarArchiveInputStream(new FileInputStream(oldGNUSparseTar))) {
-                oldGNUSparseInputStream.getNextTarEntry();
+                final TarArchiveEntry oldGNUEntry = 
oldGNUSparseInputStream.getNextTarEntry();
+                
assertTrue(oldGNUSparseInputStream.canReadEntryData(oldGNUEntry));
                 assertArrayEquals(IOUtils.toByteArray(oldGNUSparseInputStream),
-                    IOUtils.toByteArray(paxGNUSparseInputStream));
+                        IOUtils.toByteArray(paxGNUSparseInputStream));
             }
 
             // compare between old GNU and PAX 0.1
-            paxGNUSparseInputStream.getNextTarEntry();
+            paxGNUEntry = paxGNUSparseInputStream.getNextTarEntry();
+            assertTrue(paxGNUSparseInputStream.canReadEntryData(paxGNUEntry));
             try (TarArchiveInputStream oldGNUSparseInputStream = new 
TarArchiveInputStream(new FileInputStream(oldGNUSparseTar))) {
-                oldGNUSparseInputStream.getNextTarEntry();
+                final TarArchiveEntry oldGNUEntry = 
oldGNUSparseInputStream.getNextTarEntry();
+                
assertTrue(oldGNUSparseInputStream.canReadEntryData(oldGNUEntry));
                 assertArrayEquals(IOUtils.toByteArray(oldGNUSparseInputStream),
-                    IOUtils.toByteArray(paxGNUSparseInputStream));
+                        IOUtils.toByteArray(paxGNUSparseInputStream));
             }
 
             // compare between old GNU and PAX 1.0
-            paxGNUSparseInputStream.getNextTarEntry();
+            paxGNUEntry = paxGNUSparseInputStream.getNextTarEntry();
+            assertTrue(paxGNUSparseInputStream.canReadEntryData(paxGNUEntry));
             try (TarArchiveInputStream oldGNUSparseInputStream = new 
TarArchiveInputStream(new FileInputStream(oldGNUSparseTar))) {
-                oldGNUSparseInputStream.getNextTarEntry();
+                final TarArchiveEntry oldGNUEntry = 
oldGNUSparseInputStream.getNextTarEntry();
+                
assertTrue(oldGNUSparseInputStream.canReadEntryData(oldGNUEntry));
                 assertArrayEquals(IOUtils.toByteArray(oldGNUSparseInputStream),
-                    IOUtils.toByteArray(paxGNUSparseInputStream));
+                        IOUtils.toByteArray(paxGNUSparseInputStream));
             }
         }
     }
 
     @Test
     public void testExtractOldGNU() throws IOException, InterruptedException {
-        if (isOnWindows) {
-            return;
-        }
+        assumeFalse(isOnWindows);

Review comment:
       Maybe we can make it more detailed with something like :
   ```
   assumeFalse("This test should be ignored on Windows", isOnWindows);
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 516964)
    Time Spent: 0.5h  (was: 20m)

> TarArchiveInputStream returns wrong value on canReadEntryData for sparse 
> entries
> --------------------------------------------------------------------------------
>
>                 Key: COMPRESS-560
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-560
>             Project: Commons Compress
>          Issue Type: Bug
>    Affects Versions: 1.20
>            Reporter: Robin Schimpf
>            Priority: Major
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Since sparse tar content files are now supported the result from 
> canReadEntryData is wrong since it still returns false if the entry is a 
> sparse file.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to