@Test @Ignore public void testNewSessionWhileModifyingRuleBase() throws InterruptedException { PackageModifier modifier = new PackageModifier(); SessionCreator creator = new SessionCreator(); creator.start(); modifier.start(); // 10 seconds should be more than enough time to see if the modifer and creator // get deadlocked Thread.sleep(10000); boolean deadlockDetected = creator.isBlocked() && modifier.isBlocked(); if (deadlockDetected) { // dump both stacks to show it printThreadStatus(creator); printThreadStatus(modifier); } assertEquals( "Threads are deadlocked! See previous stacks for more detail", false, deadlockDetected); // check to see if either had an exception also if (creator.isInError()) { creator.getError().printStackTrace(); } assertEquals("Exception in creator thread", false, creator.isInError()); if (modifier.isInError()) { modifier.getError().printStackTrace(); } assertEquals("Exception in modifier thread", false, modifier.isInError()); }