diff options
Diffstat (limited to 'clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/CleanupZookeeperLogsOnSuccess.java')
-rw-r--r-- | clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/CleanupZookeeperLogsOnSuccess.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/CleanupZookeeperLogsOnSuccess.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/CleanupZookeeperLogsOnSuccess.java new file mode 100644 index 00000000000..9fe56cceec5 --- /dev/null +++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/CleanupZookeeperLogsOnSuccess.java @@ -0,0 +1,29 @@ +package com.yahoo.vespa.clustercontroller.core; + +import org.junit.jupiter.api.extension.ExtensionContext; +import org.junit.jupiter.api.extension.TestWatcher; + +public class CleanupZookeeperLogsOnSuccess implements TestWatcher { + + public CleanupZookeeperLogsOnSuccess() {} + + @Override + public void testFailed(ExtensionContext context, Throwable cause) { + System.err.println("TEST FAILED - NOT cleaning up zookeeper directory"); + shutdownZooKeeper(context, false); + } + + @Override + public void testSuccessful(ExtensionContext context) { + System.err.println("TEST SUCCEEDED - cleaning up zookeeper directory"); + shutdownZooKeeper(context, true); + } + + private void shutdownZooKeeper(ExtensionContext ctx, boolean cleanupZooKeeperDir) { + FleetControllerTest test = (FleetControllerTest) ctx.getTestInstance().orElseThrow(); + if (test.zooKeeperServer != null) { + test.zooKeeperServer.shutdown(cleanupZooKeeperDir); + test.zooKeeperServer = null; + } + } +} |