From b403c269e9023fdfa0a40a31ec2729f9961db932 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Sat, 5 Jan 2013 12:59:18 -0500 Subject: [PATCH] Make multi-threaded progress meter daemon unit test more robust --- .../utils/progressmeter/ProgressMeterDaemonUnitTest.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/java/test/org/broadinstitute/sting/utils/progressmeter/ProgressMeterDaemonUnitTest.java b/public/java/test/org/broadinstitute/sting/utils/progressmeter/ProgressMeterDaemonUnitTest.java index 420db683e..5c6c675a7 100644 --- a/public/java/test/org/broadinstitute/sting/utils/progressmeter/ProgressMeterDaemonUnitTest.java +++ b/public/java/test/org/broadinstitute/sting/utils/progressmeter/ProgressMeterDaemonUnitTest.java @@ -96,7 +96,11 @@ public class ProgressMeterDaemonUnitTest extends BaseTest { daemon.done(); Assert.assertTrue(daemon.isDone()); - Assert.assertEquals(meter.progressCalls.size(), ticks, - "Expected " + ticks + " progress calls from daemon thread, but only got " + meter.progressCalls.size() + " with exact calls " + meter.progressCalls); + Assert.assertTrue(meter.progressCalls.size() >= 1, + "Expected at least one progress update call from daemon thread, but only got " + meter.progressCalls.size() + " with exact calls " + meter.progressCalls); + + final int tolerance = (int)Math.ceil(0.8 * meter.progressCalls.size()); + Assert.assertTrue(Math.abs(meter.progressCalls.size() - ticks) <= tolerance, + "Expected " + ticks + " progress calls from daemon thread, but got " + meter.progressCalls.size() + " and a tolerance of only " + tolerance); } }