From f100ef6384ddc2856e3a9a54a052669136102a02 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer Date: Wed, 27 Apr 2016 14:10:20 +0200 Subject: [PATCH] Only keep peer keys when reusing network stress test directory --- .../p2p/network/NetworkStressTest.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/network/src/test/java/io/bitsquare/p2p/network/NetworkStressTest.java b/network/src/test/java/io/bitsquare/p2p/network/NetworkStressTest.java index 12402802ed..628abad4fb 100644 --- a/network/src/test/java/io/bitsquare/p2p/network/NetworkStressTest.java +++ b/network/src/test/java/io/bitsquare/p2p/network/NetworkStressTest.java @@ -173,20 +173,30 @@ public class NetworkStressTest { return stressTestDirPath; } + /** + * Delete the test data directory recursively, unless STRESS_TEST_DIR is defined, + * in which case peer node keys are kept. + * + * @throws IOException + */ private void deleteTestDataDirectory() throws IOException { // Based on by Tomasz Dzięcielewski. - if (System.getenv(TEST_DIR_ENVVAR) != null) - return; // do not remove if given explicitly + boolean keep = System.getenv(TEST_DIR_ENVVAR) != null; // do not remove if given explicitly Files.walkFileTree(testDataDir, new SimpleFileVisitor() { @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { - Files.delete(file); + final String fileName = file.getFileName().toString(); + if (!(keep && (fileName.equals("enc.key") || fileName.equals("sig.key")))) + Files.delete(file); return FileVisitResult.CONTINUE; } @Override public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException { - Files.delete(dir); + // ``dir`` is always a directory, I/O errors may still trigger ``NullPointerException``. + //noinspection ConstantConditions + if (!(keep && dir.toFile().listFiles().length > 0)) + Files.delete(dir); return FileVisitResult.CONTINUE; } });