From: James Procter Date: Sun, 22 Oct 2023 11:31:19 +0000 (+0100) Subject: JAL-4153 avoid use of invokeAndWait, increase wait time and add timeout for the cache... X-Git-Tag: Release_2_11_4_0~128 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=b72ed01b68a8572022f912687db5be60b53c15cf;p=jalview.git JAL-4153 avoid use of invokeAndWait, increase wait time and add timeout for the cache update test --- diff --git a/test/jalview/io/cache/JvCacheableInputBoxTest.java b/test/jalview/io/cache/JvCacheableInputBoxTest.java index 5f9af25..ce34044 100644 --- a/test/jalview/io/cache/JvCacheableInputBoxTest.java +++ b/test/jalview/io/cache/JvCacheableInputBoxTest.java @@ -84,24 +84,28 @@ public class JvCacheableInputBoxTest cacheBox.addItem(testInput); cacheBox.setSelectedItem(testInput); cacheBox.updateCache(); - - try + boolean done[]=new boolean[] { false }; + // this event gets processed after updateCache's update event on the swing + // thread + SwingUtilities.invokeLater(() -> { + done[0]=true; + }); + long t=0; + while (!done[0] && t<200) { - // fix for JAL-4153 - // This delay is to let cacheBox.updateCache() finish updating the cache - SwingUtilities.invokeAndWait(() -> { - try - { - Thread.sleep(1); + try { + Thread.sleep(7); + t++; } catch (InterruptedException e) { e.printStackTrace(); } - }); - } catch (InvocationTargetException | InterruptedException e) + } + if (!done[0]) { - e.printStackTrace(); + Assert.fail("Giving up after 1.4s waiting for cache to be updated."); } + LinkedHashSet foundCache = appCache .getAllCachedItemsFor(TEST_CACHE_KEY); Assert.assertTrue(foundCache.contains(testInput));