From af1bce3492072723e8cae376ef00b5144d9b605d Mon Sep 17 00:00:00 2001 From: depristo Date: Fri, 14 Jan 2011 13:09:31 +0000 Subject: [PATCH] Longer wait time for threading test (5 min now) and an assertion to ensure that all jobs finished. Should probably just remove the longer running test so this becoming a non-issue git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4999 348d0f76-0448-11de-a6fe-93d51630548a --- .../threading/GenomeLocProcessingTrackerUnitTest.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/java/test/org/broadinstitute/sting/utils/threading/GenomeLocProcessingTrackerUnitTest.java b/java/test/org/broadinstitute/sting/utils/threading/GenomeLocProcessingTrackerUnitTest.java index f99eb9406..a7d2aed71 100644 --- a/java/test/org/broadinstitute/sting/utils/threading/GenomeLocProcessingTrackerUnitTest.java +++ b/java/test/org/broadinstitute/sting/utils/threading/GenomeLocProcessingTrackerUnitTest.java @@ -212,6 +212,11 @@ public class GenomeLocProcessingTrackerUnitTest extends BaseTest { return null; } + private static final void assertAllThreadsFinished(List> futures) { + for ( Future f : futures ) + Assert.assertTrue(f.isDone(), "Thread never finished running"); + } + @Test(dataProvider = "data", enabled = true) public void testThreadedProcesses(TestTarget test) { // start up 3 threads @@ -224,15 +229,17 @@ public class GenomeLocProcessingTrackerUnitTest extends BaseTest { ExecutorService exec = java.util.concurrent.Executors.newFixedThreadPool(threads.size()); try { - List> results = exec.invokeAll(threads, 60, TimeUnit.SECONDS); + List> results = exec.invokeAll(threads, 300, TimeUnit.SECONDS); GenomeLocProcessingTracker tracker = test.getTracker(); List shards = test.getShards(); for ( TestThread thread : threads ) logger.warn(String.format("TestThread ran %d jobs", thread.ran.size())); + assertAllThreadsFinished(results); + // we ran everything - Assert.assertEquals(tracker.getProcessingLocs().size(), shards.size()); + Assert.assertEquals(tracker.getProcessingLocs().size(), shards.size(), "Not all shards were run"); for ( GenomeLoc shard : shards ) { Assert.assertTrue(tracker.locIsOwned(shard), "Unowned shard");