X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Ftest-utils.js;h=ef759824ce7e9b4d0294d84f2fa6dff02aba493a;hb=d41a44de8cc111add35f7daa7834e23055bce558;hp=0014a7911cf587e876aa817f43155c4de00ffb51;hpb=bac873bd6581e5d5c0884bc520e9ec3c446509e6;p=poolifier.git diff --git a/tests/test-utils.js b/tests/test-utils.js index 0014a791..ef759824 100644 --- a/tests/test-utils.js +++ b/tests/test-utils.js @@ -1,10 +1,11 @@ -const { WorkerFunctions } = require('./test-types') +const { TaskFunctions } = require('./test-types.js') const waitWorkerEvents = async (pool, workerEvent, numberOfEventsToWait) => { - return new Promise(resolve => { + return await new Promise(resolve => { let events = 0 if (numberOfEventsToWait === 0) { resolve(events) + return } for (const workerNode of pool.workerNodes) { workerNode.worker.on(workerEvent, () => { @@ -18,12 +19,13 @@ const waitWorkerEvents = async (pool, workerEvent, numberOfEventsToWait) => { } const waitPoolEvents = async (pool, poolEvent, numberOfEventsToWait) => { - return new Promise(resolve => { + return await new Promise(resolve => { let events = 0 if (numberOfEventsToWait === 0) { resolve(events) + return } - pool.emitter.on(poolEvent, () => { + pool.emitter?.on(poolEvent, () => { ++events if (events === numberOfEventsToWait) { resolve(events) @@ -33,16 +35,16 @@ const waitPoolEvents = async (pool, poolEvent, numberOfEventsToWait) => { } const sleep = async ms => { - return new Promise(resolve => setTimeout(resolve, ms)) + return await new Promise(resolve => setTimeout(resolve, ms)) } -const sleepWorkerFunction = async ( +const sleepTaskFunction = async ( data, ms, rejection = false, rejectionMessage = '' ) => { - return new Promise((resolve, reject) => { + return await new Promise((resolve, reject) => { setTimeout( () => rejection === true @@ -72,6 +74,7 @@ const jsonIntegerSerialization = n => { } JSON.stringify(o) } + return { ok: 1 } } /** @@ -96,13 +99,13 @@ const factorial = n => { return factorial(n - 1) * n } -const executeWorkerFunction = data => { +const executeTaskFunction = data => { switch (data.function) { - case WorkerFunctions.jsonIntegerSerialization: + case TaskFunctions.jsonIntegerSerialization: return jsonIntegerSerialization(data.n || 100) - case WorkerFunctions.fibonacci: + case TaskFunctions.fibonacci: return fibonacci(data.n || 25) - case WorkerFunctions.factorial: + case TaskFunctions.factorial: return factorial(data.n || 100) default: throw new Error('Unknown worker function') @@ -110,13 +113,13 @@ const executeWorkerFunction = data => { } module.exports = { - executeWorkerFunction, + executeTaskFunction, factorial, fibonacci, generateRandomInteger, jsonIntegerSerialization, sleep, - sleepWorkerFunction, - waitWorkerEvents, - waitPoolEvents + sleepTaskFunction, + waitPoolEvents, + waitWorkerEvents }