import { expect } from 'expect'
-import { FixedThreadPool, PoolEvents } from '../../../lib/index.js'
-import { TaskFunctions } from '../../test-types.js'
-import { waitPoolEvents, waitWorkerEvents } from '../../test-utils.js'
-import { DEFAULT_TASK_NAME } from '../../../lib/utils.js'
+import { FixedThreadPool, PoolEvents } from '../../../lib/index.cjs'
+import { TaskFunctions } from '../../test-types.cjs'
+import { waitPoolEvents, waitWorkerEvents } from '../../test-utils.cjs'
+import { DEFAULT_TASK_NAME } from '../../../lib/utils.cjs'
describe('Fixed thread pool test suite', () => {
const numberOfThreads = 6
expect(workerNode.usage.tasks.maxQueued).toBe(
maxMultiplier - queuePool.opts.tasksQueueOptions.concurrency
)
+ expect(workerNode.usage.tasks.sequentiallyStolen).toBe(0)
expect(workerNode.usage.tasks.stolen).toBe(0)
}
expect(queuePool.info.executedTasks).toBe(0)
expect(workerNode.usage.tasks.maxQueued).toBe(
maxMultiplier - queuePool.opts.tasksQueueOptions.concurrency
)
+ expect(workerNode.usage.tasks.sequentiallyStolen).toBeGreaterThanOrEqual(
+ 0
+ )
+ expect(workerNode.usage.tasks.sequentiallyStolen).toBeLessThanOrEqual(
+ numberOfThreads * maxMultiplier
+ )
expect(workerNode.usage.tasks.stolen).toBeGreaterThanOrEqual(0)
expect(workerNode.usage.tasks.stolen).toBeLessThanOrEqual(
numberOfThreads * maxMultiplier
error = e
}
expect(result).toStrictEqual({ ok: 1 })
- expect(error).toStrictEqual(
- new TypeError('Found invalid object in transferList')
+ expect(error).toBeInstanceOf(Error)
+ expect(error.message).toMatch(
+ /Found invalid (object|value) in transferList/
)
})
await pool.destroy()
const numberOfExitEvents = await exitPromise
expect(pool.started).toBe(false)
+ expect(pool.emitter.eventNames()).toStrictEqual([])
+ expect(pool.readyEventEmitted).toBe(false)
expect(pool.workerNodes.length).toBe(0)
expect(numberOfExitEvents).toBe(numberOfThreads)
expect(poolDestroy).toBe(1)
await pool.destroy()
})
- it('Verify that a pool with zero worker fails', async () => {
+ it('Verify that a pool with zero worker fails', () => {
expect(
() => new FixedThreadPool(0, './tests/worker-files/thread/testWorker.mjs')
- ).toThrowError('Cannot instantiate a fixed pool with zero worker')
+ ).toThrow('Cannot instantiate a fixed pool with zero worker')
})
})