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
This commit is contained in:
parent
44b6261bfa
commit
9887d7f250
@ -349,6 +349,9 @@ Release 2.5.0 - UNRELEASED
|
|||||||
HDFS-6243. HA NameNode transition to active or shutdown may leave lingering
|
HDFS-6243. HA NameNode transition to active or shutdown may leave lingering
|
||||||
image transfer thread. (cnauroth)
|
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
|
Release 2.4.1 - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
@ -21,11 +21,13 @@
|
|||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.channels.FileChannel;
|
import java.nio.channels.FileChannel;
|
||||||
|
|
||||||
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.apache.hadoop.hdfs.DFSTestUtil;
|
import org.apache.hadoop.hdfs.DFSTestUtil;
|
||||||
@ -166,7 +168,8 @@ public void testStored() throws IOException {
|
|||||||
assertTrue("Edits " + editsStored + " should have all op codes",
|
assertTrue("Edits " + editsStored + " should have all op codes",
|
||||||
hasAllOpCodes(editsStored));
|
hasAllOpCodes(editsStored));
|
||||||
assertTrue("Reference XML edits and parsed to XML should be same",
|
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(
|
assertTrue(
|
||||||
"Reference edits and reparsed (bin to XML to bin) should be same",
|
"Reference edits and reparsed (bin to XML to bin) should be same",
|
||||||
filesEqualIgnoreTrailingZeros(editsStored, editsStoredReparsed));
|
filesEqualIgnoreTrailingZeros(editsStored, editsStoredReparsed));
|
||||||
@ -270,26 +273,4 @@ private boolean filesEqualIgnoreTrailingZeros(String filenameSmall,
|
|||||||
|
|
||||||
return true;
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user