Browse Source

Make BZip2 task comply with native bzip2 when there are multiple blocks

in the compressed file.

Submitted by Keiron Liddle "keiron@aftexsw.com"


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270047 13f79535-47bb-0310-9956-ffa450edef68
master
Magesh Umasankar 23 years ago
parent
commit
3beb7f13cd
6 changed files with 12 additions and 12 deletions
  1. +2
    -2
      src/etc/testcases/taskdefs/bunzip2.xml
  2. +2
    -2
      src/etc/testcases/taskdefs/bzip2.xml
  3. +1
    -1
      src/main/org/apache/tools/bzip2/CBZip2InputStream.java
  4. +1
    -1
      src/main/org/apache/tools/bzip2/CBZip2OutputStream.java
  5. +3
    -3
      src/testcases/org/apache/tools/ant/taskdefs/BUnzip2Test.java
  6. +3
    -3
      src/testcases/org/apache/tools/ant/taskdefs/BZip2Test.java

+ 2
- 2
src/etc/testcases/taskdefs/bunzip2.xml View File

@@ -3,11 +3,11 @@
<project basedir="." default="cleanup"> <project basedir="." default="cleanup">


<target name="realTest"> <target name="realTest">
<bunzip2 src="expected/asf-logo.gif.bz2" dest="asf-logo.gif" />
<bunzip2 src="expected/asf-logo-huge.tar.bz2" dest="asf-logo-huge.tar" />
</target> </target>


<target name="cleanup"> <target name="cleanup">
<delete file="asf-logo.gif" />
<delete file="asf-logo-huge.tar" />
</target> </target>


</project> </project>

+ 2
- 2
src/etc/testcases/taskdefs/bzip2.xml View File

@@ -3,11 +3,11 @@
<project basedir="." default="cleanup"> <project basedir="." default="cleanup">


<target name="realTest"> <target name="realTest">
<bzip2 src="../asf-logo.gif" zipfile="asf-logo.gif.bz2" />
<bzip2 src="expected/asf-logo-huge.tar" zipfile="asf-logo-huge.tar.bz2" />
</target> </target>


<target name="cleanup"> <target name="cleanup">
<delete file="asf-logo.gif.bz2" />
<delete file="asf-logo-huge.tar.bz2" />
</target> </target>


</project> </project>

+ 1
- 1
src/main/org/apache/tools/bzip2/CBZip2InputStream.java View File

@@ -268,7 +268,7 @@ public class CBZip2InputStream extends InputStream implements BZip2Constants {
crcError(); crcError();


computedCombinedCRC = (computedCombinedCRC << 1) computedCombinedCRC = (computedCombinedCRC << 1)
| (computedCombinedCRC >> 31);
| (computedCombinedCRC >>> 31);
computedCombinedCRC ^= computedBlockCRC; computedCombinedCRC ^= computedBlockCRC;
} }




+ 1
- 1
src/main/org/apache/tools/bzip2/CBZip2OutputStream.java View File

@@ -454,7 +454,7 @@ public class CBZip2OutputStream extends OutputStream implements BZip2Constants {


private void endBlock() throws IOException { private void endBlock() throws IOException {
blockCRC = mCrc.getFinalCRC(); blockCRC = mCrc.getFinalCRC();
combinedCRC = (combinedCRC << 1) | (combinedCRC >> 31);
combinedCRC = (combinedCRC << 1)|(combinedCRC >>> 31);
combinedCRC ^= blockCRC; combinedCRC ^= blockCRC;


/* sort the block and establish posn of original string */ /* sort the block and establish posn of original string */


+ 3
- 3
src/testcases/org/apache/tools/ant/taskdefs/BUnzip2Test.java View File

@@ -69,7 +69,7 @@ public class BUnzip2Test extends BuildFileTest {
super(name); super(name);
} }


public void setUp() {
public void setUp() {
configureProject("src/etc/testcases/taskdefs/bunzip2.xml"); configureProject("src/etc/testcases/taskdefs/bunzip2.xml");
} }


@@ -80,7 +80,7 @@ public class BUnzip2Test extends BuildFileTest {
public void testRealTest() throws java.io.IOException { public void testRealTest() throws java.io.IOException {
FileUtils fileUtils = FileUtils.newFileUtils(); FileUtils fileUtils = FileUtils.newFileUtils();
executeTarget("realTest"); executeTarget("realTest");
assertTrue(fileUtils.contentEquals(project.resolveFile("../asf-logo.gif"),
project.resolveFile("asf-logo.gif")));
assertTrue(fileUtils.contentEquals(project.resolveFile("expected/asf-logo-huge.tar"),
project.resolveFile("asf-logo-huge.tar")));
} }
} }

+ 3
- 3
src/testcases/org/apache/tools/ant/taskdefs/BZip2Test.java View File

@@ -69,7 +69,7 @@ public class BZip2Test extends BuildFileTest {
super(name); super(name);
} }


public void setUp() {
public void setUp() {
configureProject("src/etc/testcases/taskdefs/bzip2.xml"); configureProject("src/etc/testcases/taskdefs/bzip2.xml");
} }


@@ -80,7 +80,7 @@ public class BZip2Test extends BuildFileTest {
public void testRealTest() throws java.io.IOException { public void testRealTest() throws java.io.IOException {
FileUtils fileUtils = FileUtils.newFileUtils(); FileUtils fileUtils = FileUtils.newFileUtils();
executeTarget("realTest"); executeTarget("realTest");
assertTrue(fileUtils.contentEquals(project.resolveFile("expected/asf-logo.gif.bz2"),
project.resolveFile("asf-logo.gif.bz2")));
assertTrue(fileUtils.contentEquals(project.resolveFile("expected/asf-logo-huge.tar.bz2"),
project.resolveFile("asf-logo-huge.tar.bz2")));
} }
} }

Loading…
Cancel
Save