From 69784458af6f4354eb7e235138873f92bb02e52c Mon Sep 17 00:00:00 2001 From: BerndBreier <33351391+BerndBreier@users.noreply.github.com> Date: Fri, 5 Jan 2018 14:10:53 +0100 Subject: [PATCH] TSK-115 JAASRunner throws ClassCastException if tests fail --- .../java/pro/taskana/security/JAASRunner.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/lib/taskana-core/src/test/java/pro/taskana/security/JAASRunner.java b/lib/taskana-core/src/test/java/pro/taskana/security/JAASRunner.java index e20d61733..41afb93a1 100644 --- a/lib/taskana-core/src/test/java/pro/taskana/security/JAASRunner.java +++ b/lib/taskana-core/src/test/java/pro/taskana/security/JAASRunner.java @@ -57,17 +57,24 @@ public class JAASRunner extends BlockJUnit4ClassRunner { try { base.evaluate(); } catch (Throwable e) { - if (e instanceof Exception) { - throw (Exception) e; - } else { - throw new Exception(e); - } + throw new Exception(e); } return null; } }); } catch (PrivilegedActionException e) { - throw (Exception) e.getCause(); + Throwable cause = e.getCause(); + Throwable nestedCause = null; + if (cause != null) { + nestedCause = cause.getCause(); + } + if (nestedCause != null) { + throw nestedCause; + } else if (cause != null) { + throw cause; + } else { + throw e; + } } } };