X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fpools%2Futils.test.mjs;h=bc0c7126ddaa225c92e5e8c2f13174e2e2eaa760;hb=a4d25410764bca884efaea4d46ed9bf83b8a8dbb;hp=bf0c72afadadc78819bd5d938a30f962496f1fee;hpb=a074ffee1b46f43d0dcfba58128748c7492104dd;p=poolifier.git diff --git a/tests/pools/utils.test.mjs b/tests/pools/utils.test.mjs index bf0c72af..bc0c7126 100644 --- a/tests/pools/utils.test.mjs +++ b/tests/pools/utils.test.mjs @@ -1,11 +1,29 @@ +import { Worker as ThreadWorker } from 'node:worker_threads' +import { Worker as ClusterWorker } from 'node:cluster' import { expect } from 'expect' import { CircularArray, DEFAULT_CIRCULAR_ARRAY_SIZE -} from '../../lib/circular-array.js' -import { updateMeasurementStatistics } from '../../lib/pools/utils.js' +} from '../../lib/circular-array.cjs' +import { + createWorker, + getDefaultTasksQueueOptions, + updateMeasurementStatistics +} from '../../lib/pools/utils.cjs' +import { WorkerTypes } from '../../lib/index.cjs' describe('Pool utils test suite', () => { + it('Verify getDefaultTasksQueueOptions() behavior', () => { + const poolMaxSize = 4 + expect(getDefaultTasksQueueOptions(poolMaxSize)).toStrictEqual({ + concurrency: 1, + size: Math.pow(poolMaxSize, 2), + taskStealing: true, + tasksStealingOnBackPressure: true, + tasksFinishedTimeout: 2000 + }) + }) + it('Verify updateMeasurementStatistics() behavior', () => { const measurementStatistics = { history: new CircularArray() @@ -92,4 +110,19 @@ describe('Pool utils test suite', () => { ) }) }) + + it('Verify createWorker() behavior', () => { + expect( + createWorker( + WorkerTypes.thread, + './tests/worker-files/thread/testWorker.mjs' + ) + ).toBeInstanceOf(ThreadWorker) + expect( + createWorker( + WorkerTypes.cluster, + './tests/worker-files/cluster/testWorker.mjs' + ) + ).toBeInstanceOf(ClusterWorker) + }) })