repositories
/
poolifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
feat: add per task function strategy support
[poolifier.git]
/
tests
/
pools
/
cluster
/
dynamic.test.mjs
diff --git
a/tests/pools/cluster/dynamic.test.mjs
b/tests/pools/cluster/dynamic.test.mjs
index d2a250c15b6b1032a6687634caa6cc905e115e00..166498f9a0b0c4c7a9f4a997f3d296518e3ca457 100644
(file)
--- a/
tests/pools/cluster/dynamic.test.mjs
+++ b/
tests/pools/cluster/dynamic.test.mjs
@@
-1,4
+1,5
@@
import { expect } from 'expect'
import { expect } from 'expect'
+
import {
DynamicClusterPool,
PoolEvents,
import {
DynamicClusterPool,
PoolEvents,
@@
-23,7
+24,7
@@
describe('Dynamic cluster pool test suite', () => {
let result = await pool.execute({
function: TaskFunctions.fibonacci
})
let result = await pool.execute({
function: TaskFunctions.fibonacci
})
- expect(result).toBe(
75025
)
+ expect(result).toBe(
354224848179262000000
)
result = await pool.execute({
function: TaskFunctions.factorial
})
result = await pool.execute({
function: TaskFunctions.factorial
})
@@
-71,7
+72,10
@@
describe('Dynamic cluster pool test suite', () => {
await pool.destroy()
const numberOfExitEvents = await exitPromise
expect(pool.started).toBe(false)
await pool.destroy()
const numberOfExitEvents = await exitPromise
expect(pool.started).toBe(false)
- expect(pool.emitter.eventNames()).toStrictEqual([])
+ expect(pool.emitter.eventNames()).toStrictEqual([
+ PoolEvents.busy,
+ PoolEvents.destroy
+ ])
expect(pool.readyEventEmitted).toBe(false)
expect(pool.workerNodes.length).toBe(0)
expect(numberOfExitEvents).toBe(min)
expect(pool.readyEventEmitted).toBe(false)
expect(pool.workerNodes.length).toBe(0)
expect(numberOfExitEvents).toBe(min)
@@
-115,8
+119,9
@@
describe('Dynamic cluster pool test suite', () => {
await waitWorkerEvents(longRunningPool, 'exit', max - min)
expect(longRunningPool.workerNodes.length).toBe(min)
expect(
await waitWorkerEvents(longRunningPool, 'exit', max - min)
expect(longRunningPool.workerNodes.length).toBe(min)
expect(
- longRunningPool.workerChoiceStrategyContext.workerChoiceStrategies.get(
- longRunningPool.workerChoiceStrategyContext.workerChoiceStrategy
+ longRunningPool.workerChoiceStrategiesContext.workerChoiceStrategies.get(
+ longRunningPool.workerChoiceStrategiesContext
+ .defaultWorkerChoiceStrategy
).nextWorkerNodeKey
).toBeLessThan(longRunningPool.workerNodes.length)
// We need to clean up the resources after our test
).nextWorkerNodeKey
).toBeLessThan(longRunningPool.workerNodes.length)
// We need to clean up the resources after our test
@@
-157,15
+162,17
@@
describe('Dynamic cluster pool test suite', () => {
await pool.destroy()
})
await pool.destroy()
})
- it.skip('Verify that a pool with zero worker works', async () => {
- const pool = new DynamicClusterPool(
- 0,
- max,
- './tests/worker-files/thread/testWorker.mjs'
- )
- expect(pool.starting).toBe(false)
+ it('Verify that a pool with zero worker works', async () => {
for (const workerChoiceStrategy of Object.values(WorkerChoiceStrategies)) {
for (const workerChoiceStrategy of Object.values(WorkerChoiceStrategies)) {
- pool.setWorkerChoiceStrategy(workerChoiceStrategy)
+ const pool = new DynamicClusterPool(
+ 0,
+ max,
+ './tests/worker-files/cluster/testWorker.cjs',
+ {
+ workerChoiceStrategy
+ }
+ )
+ expect(pool.starting).toBe(false)
expect(pool.readyEventEmitted).toBe(false)
for (let run = 0; run < 2; run++) {
run % 2 !== 0 && pool.enableTasksQueue(true)
expect(pool.readyEventEmitted).toBe(false)
for (let run = 0; run < 2; run++) {
run % 2 !== 0 && pool.enableTasksQueue(true)
@@
-183,8
+190,8
@@
describe('Dynamic cluster pool test suite', () => {
expect(pool.readyEventEmitted).toBe(false)
expect(pool.workerNodes.length).toBe(pool.info.minSize)
}
expect(pool.readyEventEmitted).toBe(false)
expect(pool.workerNodes.length).toBe(pool.info.minSize)
}
+ // We need to clean up the resources after our test
+ await pool.destroy()
}
}
- // We need to clean up the resources after our test
- await pool.destroy()
})
})
})
})