test: add test to reproduce issue #1748
[poolifier.git] / tests / pools / thread / dynamic.test.mjs
index 9d35ce8aa8088b58809b4c54d67ec2712e06d974..7b951aaf38576f9ffb3f05fb50ee60ace4882a28 100644 (file)
@@ -168,6 +168,17 @@ describe('Dynamic thread pool test suite', () => {
     }
     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())
+    }
+    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()
   })