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
|
||||
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
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user