Changeset 14261 in josm for trunk/test/unit/org
- Timestamp:
- 2018-09-19T21:57:27+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/unit/org/openstreetmap/josm/data/cache/HostLimitQueueTest.java
r13733 r14261 14 14 import org.junit.Rule; 15 15 import org.junit.Test; 16 import org.openstreetmap.josm.data.imagery.TMSCachedTileLoader; 16 17 import org.openstreetmap.josm.data.imagery.TileJobOptions; 17 18 import org.openstreetmap.josm.testutils.JOSMTestRules; 18 19 import org.openstreetmap.josm.tools.Logging; 19 import org.openstreetmap.josm.tools.Utils;20 20 21 21 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; … … 33 33 public JOSMTestRules test = new JOSMTestRules().preferences().timeout(20 * 1000); 34 34 35 private static ThreadPoolExecutor getNewThreadPoolExecutor(String nameFormat, int workers, int queueLimit) {36 HostLimitQueue workQueue = new HostLimitQueue(queueLimit);37 ThreadPoolExecutor executor = new ThreadPoolExecutor(38 0, // 0 so for unused thread pools threads will eventually die, freeing also the threadpool39 workers, // do not this number of threads40 300, // keepalive for thread41 TimeUnit.SECONDS,42 workQueue,43 Utils.newThreadFactory(nameFormat, Thread.NORM_PRIORITY)44 );45 workQueue.setExecutor(executor);46 return executor;47 }48 35 49 36 /** … … 94 81 @Test 95 82 public void testSingleThreadPerHost() throws Exception { 96 ThreadPoolExecutor tpe = getNewThreadPoolExecutor("test-%d", 3, 1);83 ThreadPoolExecutor tpe = TMSCachedTileLoader.getNewThreadPoolExecutor("test-%d", 3, 1); 97 84 ICacheAccess<String, CacheEntry> cache = JCSCacheManager.getCache("test", 3, 0, ""); 98 85 AtomicInteger counter = new AtomicInteger(0); … … 107 94 assertEquals(10, counter.get()); 108 95 // although there are 3 threads, we can make only 1 parallel call to localhost 109 // so it should take ~10 seconds to finish 96 // first three jobs will be not limited, as they spawn the thread 97 // so it should take ~8 seconds to finish 110 98 // if it's shorter, it means that host limit does not work 111 assertTrue("Expected duration between 9and 11 seconds not met. Actual duration: " + (duration /1000),112 duration < 11*1000 & duration > 9*1000);99 assertTrue("Expected duration between 8 and 11 seconds not met. Actual duration: " + (duration /1000), 100 duration < 11*1000 & duration > 8*1000); 113 101 } 114 102 … … 119 107 @Test 120 108 public void testMultipleThreadPerHost() throws Exception { 121 ThreadPoolExecutor tpe = getNewThreadPoolExecutor("test-%d", 3, 2);109 ThreadPoolExecutor tpe = TMSCachedTileLoader.getNewThreadPoolExecutor("test-%d", 3, 2); 122 110 ICacheAccess<String, CacheEntry> cache = JCSCacheManager.getCache("test", 3, 0, ""); 123 111 AtomicInteger counter = new AtomicInteger(0); … … 144 132 @Test 145 133 public void testTwoHosts() throws Exception { 146 ThreadPoolExecutor tpe = getNewThreadPoolExecutor("test-%d", 3, 1);134 ThreadPoolExecutor tpe = TMSCachedTileLoader.getNewThreadPoolExecutor("test-%d", 3, 1); 147 135 ICacheAccess<String, CacheEntry> cache = JCSCacheManager.getCache("test", 3, 0, ""); 148 136 AtomicInteger counter = new AtomicInteger(0);
Note:
See TracChangeset
for help on using the changeset viewer.