diff --git a/bramble-api/src/test/java/org/briarproject/bramble/test/ThreadExceptionTest.java b/bramble-api/src/test/java/org/briarproject/bramble/test/ThreadExceptionTest.java new file mode 100644 index 000000000..6491df41a --- /dev/null +++ b/bramble-api/src/test/java/org/briarproject/bramble/test/ThreadExceptionTest.java @@ -0,0 +1,32 @@ +package org.briarproject.bramble.test; + +import org.junit.Test; + +import static org.junit.Assert.fail; + +public class ThreadExceptionTest extends BrambleTestCase { + + @Test(expected = AssertionError.class) + public void testAssertionErrorMakesTestCaseFail() { + // This is what BrambleTestCase does, too: + fail(); + } + + @Test(expected = AssertionError.class) + public void testExceptionInThreadMakesTestCaseFail() { + Thread t = new Thread(() -> { + System.out.println("thread before exception"); + throw new RuntimeException("boom"); + }); + + t.start(); + try { + t.join(); + System.out.println("joined thread"); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + +}