Assert.assertTrue(Files.size(file.toPath()) > 0, "File '" + filename
+ "' has no content from '" + cmdLine + "'");
// make sure the successive output files get bigger!
- if (lastFile != null) {
- Assert.assertTrue(Files.size(file.toPath()) > Files.size(lastFile.toPath()));
- System.out.println("this file: " + file + " +" + Files.size(file.toPath()) + " greater than "
- + Files.size(lastFile.toPath()));
- }
- // remember it for next file
- lastFile = file;
+ if (lastFile != null)
+ {
+ waitForLastWrite(file,25);
+
+ if (Files.size(file.toPath()) > Files
+ .size(lastFile.toPath()))
+ Assert.assertTrue(Files.size(file.toPath()) > Files
+ .size(lastFile.toPath()));
+ }
+ // remember it for next file
+ lastFile = file;
}
} catch (Exception x)
{
}
}
+ private static long waitForLastWrite(File file, int i) throws IOException
+ {
+ long lastSize,stableSize =Files.size(file.toPath());
+ // wait around until we are sure the file has been completely written.
+ do {
+ lastSize = stableSize;
+ try {
+ Thread.sleep(i);
+ } catch (Exception x) {}
+ stableSize=Files.size(file.toPath());
+ } while (stableSize!=lastSize);
+ return stableSize;
+ }
+
@Test(groups = "Functional", dataProvider = "argfileOutputFiles", singleThreaded = true)
+
public void argFilesGlobAndSubstitutionsTest(String cmdLine,
String[] filenames) throws IOException
{