HDFS-10805. Reduce runtime for append test. Contributed by Gergely Novak.
This commit is contained in:
parent
53a12fa721
commit
2a8f55a0cf
@ -17,6 +17,7 @@
|
||||
*/
|
||||
package org.apache.hadoop.hdfs;
|
||||
|
||||
import static org.junit.Assert.assertArrayEquals;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
@ -238,7 +239,8 @@ private static void checkData(final byte[] actual, int from,
|
||||
}
|
||||
|
||||
public static void testAppend(FileSystem fs, Path p) throws IOException {
|
||||
final byte[] bytes = new byte[1000];
|
||||
final int size = 1000;
|
||||
final byte[] bytes = randomBytes(seed, size);
|
||||
|
||||
{ //create file
|
||||
final FSDataOutputStream out = fs.create(p, (short)1);
|
||||
@ -247,12 +249,22 @@ public static void testAppend(FileSystem fs, Path p) throws IOException {
|
||||
assertEquals(bytes.length, fs.getFileStatus(p).getLen());
|
||||
}
|
||||
|
||||
for(int i = 2; i < 500; i++) {
|
||||
final int appends = 50;
|
||||
for (int i = 2; i < appends; i++) {
|
||||
//append
|
||||
final FSDataOutputStream out = fs.append(p);
|
||||
out.write(bytes);
|
||||
out.close();
|
||||
assertEquals(i*bytes.length, fs.getFileStatus(p).getLen());
|
||||
assertEquals(i * bytes.length, fs.getFileStatus(p).getLen());
|
||||
}
|
||||
|
||||
// Check the appended content
|
||||
final FSDataInputStream in = fs.open(p);
|
||||
for (int i = 0; i < appends - 1; i++) {
|
||||
byte[] read = new byte[size];
|
||||
in.read(i * bytes.length, read, 0, size);
|
||||
assertArrayEquals(bytes, read);
|
||||
}
|
||||
in.close();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user