aboutsummaryrefslogtreecommitdiffstats
path: root/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/CleanupZookeeperLogsOnSuccess.java
diff options
context:
space:
mode:
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.java29
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;
+ }
+ }
+}