test: cleanup issue #1748 test
[poolifier.git] / tests / pools / cluster / dynamic.test.mjs
index cc8f2c0c5a866f675ecde96eb8d8d80ea02ec76d..fa318f4bc62d451f2f08661ff8bd291e65f48b2f 100644 (file)
@@ -161,24 +161,18 @@ describe('Dynamic cluster pool test suite', () => {
     )
     expect(pool.starting).toBe(false)
     expect(pool.workerNodes.length).toBe(pool.info.minSize)
-    const maxMultiplier = 10000
-    const promises = new Set()
-    for (let i = 0; i < max * maxMultiplier; i++) {
-      promises.add(pool.execute())
-    }
-    await Promise.all(promises)
-    expect(pool.workerNodes.length).toBe(max)
-    await waitWorkerEvents(pool, 'exit', max)
-    expect(pool.workerNodes.length).toBe(pool.info.minSize)
-    // pool.enableTasksQueue(true, { concurrency: 2 })
-    promises.clear()
-    for (let i = 0; i < max * maxMultiplier; i++) {
-      promises.add(pool.execute())
+    for (let run = 0; run < 4; run++) {
+      // pool.enableTasksQueue(true, { concurrency: 2 })
+      const maxMultiplier = 10000
+      const promises = new Set()
+      for (let i = 0; i < max * maxMultiplier; i++) {
+        promises.add(pool.execute())
+      }
+      await Promise.all(promises)
+      expect(pool.workerNodes.length).toBe(max)
+      await waitWorkerEvents(pool, 'exit', max)
+      expect(pool.workerNodes.length).toBe(pool.info.minSize)
     }
-    await Promise.all(promises)
-    expect(pool.workerNodes.length).toBe(max)
-    await waitWorkerEvents(pool, 'exit', max)
-    expect(pool.workerNodes.length).toBe(pool.info.minSize)
     // We need to clean up the resources after our test
     await pool.destroy()
   })