test: cleanup issue #1748 test
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 5 Jan 2024 16:14:00 +0000 (17:14 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 5 Jan 2024 16:14:00 +0000 (17:14 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
tests/pools/cluster/dynamic.test.mjs
tests/pools/thread/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()
   })
index 7b951aaf38576f9ffb3f05fb50ee60ace4882a28..e0e05c4e0b284592da86ca329d67b496f22383c0 100644 (file)
@@ -161,24 +161,18 @@ describe('Dynamic thread 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()
   })