diff --git a/runtime/engine/src/test/java/io/aklivity/zilla/runtime/engine/test/EngineRule.java b/runtime/engine/src/test/java/io/aklivity/zilla/runtime/engine/test/EngineRule.java index 4b5fd7eadd..4f92a9d42d 100644 --- a/runtime/engine/src/test/java/io/aklivity/zilla/runtime/engine/test/EngineRule.java +++ b/runtime/engine/src/test/java/io/aklivity/zilla/runtime/engine/test/EngineRule.java @@ -83,6 +83,7 @@ public final class EngineRule implements TestRule private EngineConfiguration configuration; private String configRoot; private Predicate exceptions; + private boolean interruptible; private boolean clean; public EngineRule() @@ -90,6 +91,7 @@ public EngineRule() this.builder = Engine.builder(); this.properties = new Properties(); this.exceptions = m -> false; + this.interruptible = true; configure(ENGINE_DRAIN_ON_CLOSE, true); configure(ENGINE_SYNTHETIC_ABORT, true); @@ -156,6 +158,13 @@ public EngineRule exceptions( return this; } + public EngineRule interruptible( + boolean interruptible) + { + this.interruptible = interruptible; + return this; + } + public EngineRule clean() { this.clean = true; @@ -323,9 +332,12 @@ public void evaluate() throws Throwable final List errors = synchronizedList(new ArrayList<>()); final ErrorHandler errorHandler = ex -> { - ex.printStackTrace(); errors.add(ex); - baseThread.interrupt(); + + if (interruptible) + { + baseThread.interrupt(); + } }; FileSystem fs = null;