From 9887d7f2502f814200317fa0e516d3ca29ba5ae4 Mon Sep 17 00:00:00 2001 From: Chris Nauroth Date: Wed, 16 Apr 2014 00:05:45 +0000 Subject: [PATCH] HDFS-5409. TestOfflineEditsViewer#testStored fails on Windows due to CRLF line endings in editsStored.xml from git checkout. Contributed by Chris Nauroth. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1587759 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../TestOfflineEditsViewer.java | 27 +++---------------- 2 files changed, 7 insertions(+), 23 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 02c41e73ce..aaf31c1d0e 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -349,6 +349,9 @@ Release 2.5.0 - UNRELEASED HDFS-6243. HA NameNode transition to active or shutdown may leave lingering image transfer thread. (cnauroth) + HDFS-5409. TestOfflineEditsViewer#testStored fails on Windows due to CRLF + line endings in editsStored.xml from git checkout. (cnauroth) + Release 2.4.1 - UNRELEASED INCOMPATIBLE CHANGES diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineEditsViewer/TestOfflineEditsViewer.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineEditsViewer/TestOfflineEditsViewer.java index 64e618ca15..0eb50c24cc 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineEditsViewer/TestOfflineEditsViewer.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineEditsViewer/TestOfflineEditsViewer.java @@ -21,11 +21,13 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; +import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.hdfs.DFSTestUtil; @@ -166,7 +168,8 @@ public void testStored() throws IOException { assertTrue("Edits " + editsStored + " should have all op codes", hasAllOpCodes(editsStored)); assertTrue("Reference XML edits and parsed to XML should be same", - filesEqual(editsStoredXml, editsStoredParsedXml)); + FileUtils.contentEqualsIgnoreEOL(new File(editsStoredXml), + new File(editsStoredParsedXml), "UTF-8")); assertTrue( "Reference edits and reparsed (bin to XML to bin) should be same", filesEqualIgnoreTrailingZeros(editsStored, editsStoredReparsed)); @@ -270,26 +273,4 @@ private boolean filesEqualIgnoreTrailingZeros(String filenameSmall, return true; } - - /** - * Compare two files, throw exception is they are not same - * - * @param filename1 first file to compare - * @param filename2 second file to compare - */ - private boolean filesEqual(String filename1, - String filename2) throws IOException { - - // make file 1 the small one - ByteBuffer bb1 = ByteBuffer.wrap(DFSTestUtil.loadFile(filename1)); - ByteBuffer bb2 = ByteBuffer.wrap(DFSTestUtil.loadFile(filename2)); - - // compare from 0 to capacity - bb1.position(0); - bb1.limit(bb1.capacity()); - bb2.position(0); - bb2.limit(bb2.capacity()); - - return bb1.equals(bb2); - } }