From b2cfe6930d4aee27b1656b311b8dfe0f41636793 Mon Sep 17 00:00:00 2001 From: Jeffrey Date: Tue, 21 Nov 2023 20:53:23 +0100 Subject: [PATCH] work? --- .../e2etester/framework/TestFramework.java | 30 +++++++------------ 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/src/main/java/io/github/slimefun/e2etester/framework/TestFramework.java b/src/main/java/io/github/slimefun/e2etester/framework/TestFramework.java index a8c0f4d..65967bc 100644 --- a/src/main/java/io/github/slimefun/e2etester/framework/TestFramework.java +++ b/src/main/java/io/github/slimefun/e2etester/framework/TestFramework.java @@ -12,6 +12,7 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Consumer; import java.util.stream.Collectors; @@ -70,47 +71,36 @@ public void runTests(@Nonnull String packageName) { boolean threadSafe = annotation.threadSafe(); CountDownLatch latch = new CountDownLatch(1); + AtomicBoolean failed = new AtomicBoolean(false); // Invoke try { testsRan++; - logMessage("run test: " + method.getName()); - method.setAccessible(true); Object instance = method.getDeclaringClass().getDeclaredConstructor().newInstance(); if (threadSafe) { - logMessage("we are safe no question"); method.invoke(instance); } else { - logMessage("we arent safe"); Bukkit.getScheduler().runTask(E2ETester.getInstance(), () -> { try { - logMessage("before invocation"); method.invoke(instance); - logMessage("after invocation"); latch.countDown(); } catch (IllegalAccessException | InvocationTargetException e) { latch.countDown(); - logMessage("caught exception"); if (e.getCause() instanceof TestFailException) { - logMessage("test fail exception"); - testsFailed++; - logMessage(" x %s", description); - e.printStackTrace(); - } else { - testsFailed++; - logMessage(" x %s", description); - e.printStackTrace(); + failed.set(true); } } }); - logMessage("we are waiting"); latch.await(); - logMessage("we are finished waiting"); } - - testsPassed++; - logMessage(" ✔ %s", description); + if (failed.get()) { + testsFailed++; + logMessage(" x %s", description); + } else { + testsPassed++; + logMessage(" ✔ %s", description); + } } catch(TestFailException e) { testsFailed++; logMessage(" x %s", description);