OAK-4597: Improve test coverage of blob GC
Minor cleanup & escaping/unescaping to fix some rare randomized test failures
git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1754811 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java
index b3c26b7..f5f9bf0 100644
--- a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java
+++ b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java
@@ -132,7 +132,7 @@
BufferedReader reader =
new BufferedReader(new InputStreamReader(new FileInputStream(f), UTF_8));
- String line = null;
+ String line;
List<String> retrieved = newArrayList();
while ((line = reader.readLine()) != null) {
retrieved.add(line);
@@ -151,7 +151,7 @@
BufferedReader reader =
new BufferedReader(new InputStreamReader(new FileInputStream(f), UTF_8));
- String line = null;
+ String line;
List<String> retrieved = newArrayList();
while ((line = reader.readLine()) != null) {
retrieved.add(unescapeLineBreaks(line));
@@ -245,7 +245,7 @@
File f = assertWrite(added.iterator(), false, added.size());
BurnOnCloseFileIterator iterator =
- BurnOnCloseFileIterator.wrap(FileUtils.lineIterator(f));
+ BurnOnCloseFileIterator.wrap(FileUtils.lineIterator(f, UTF_8.toString()));
assertEquals(added, Sets.newHashSet(iterator));
assertTrue(f.exists());
@@ -257,7 +257,7 @@
File f = assertWrite(added.iterator(), false, added.size());
BurnOnCloseFileIterator iterator =
- BurnOnCloseFileIterator.wrap(FileUtils.lineIterator(f), f);
+ BurnOnCloseFileIterator.wrap(FileUtils.lineIterator(f, UTF_8.toString()), f);
assertEquals(added, Sets.newHashSet(iterator));
assertTrue(!f.exists());
@@ -269,7 +269,7 @@
File f = assertWrite(added.iterator(), true, added.size());
BurnOnCloseFileIterator iterator =
- new BurnOnCloseFileIterator<String>(FileUtils.lineIterator(f),
+ new BurnOnCloseFileIterator<String>(FileUtils.lineIterator(f, UTF_8.toString()), f,
new Function<String, String>() {
@Nullable @Override public String apply(@Nullable String input) {
return unescapeLineBreaks(input);
@@ -277,6 +277,7 @@
});
assertEquals(added, Sets.newHashSet(iterator));
+ assertTrue(!f.exists());
}
@Test
@@ -285,10 +286,18 @@
for (int i = 0; i < 100; i++) {
added.add(getRandomTestString());
}
- File f = assertWrite(added.iterator(), false, added.size());
+ File f = assertWrite(added.iterator(), true, added.size());
BurnOnCloseFileIterator iterator =
- BurnOnCloseFileIterator.wrap(FileUtils.lineIterator(f, UTF_8.toString()), f);
+ new BurnOnCloseFileIterator<String>(FileUtils.lineIterator(f, UTF_8.toString()),
+ f,
+ new Function<String, String>() {
+ @Nullable
+ @Override
+ public String apply(@Nullable String input) {
+ return unescapeLineBreaks(input);
+ }
+ });
assertEquals(added, Sets.newHashSet(iterator));
assertTrue(!f.exists());
@@ -343,7 +352,7 @@
return buffer.toString();
}
- static InputStream randomStream(int seed, int size) {
+ private static InputStream randomStream(int seed, int size) {
Random r = new Random(seed);
byte[] data = new byte[size];
r.nextBytes(data);