test: cleanup worker functions return
authorJérôme Benoit <jerome.benoit@sap.com>
Fri, 7 Jul 2023 22:37:57 +0000 (00:37 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Fri, 7 Jul 2023 22:37:57 +0000 (00:37 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
13 files changed:
benchmarks/benchmarks-utils.mjs
benchmarks/internal/cluster-worker.mjs
benchmarks/internal/thread-worker.mjs
tests/pools/abstract/abstract-pool.test.js
tests/pools/cluster/dynamic.test.js
tests/pools/cluster/fixed.test.js
tests/pools/thread/dynamic.test.js
tests/pools/thread/fixed.test.js
tests/test-utils.js
tests/worker-files/cluster/testMultiTasksWorker.js
tests/worker-files/cluster/testWorker.js
tests/worker-files/thread/testMultiTasksWorker.js
tests/worker-files/thread/testWorker.js

index 48d5e41b1f0138a589fe4dbee31a762ac92db845..c88ada12fa61eda4c474b4142bbd81dbb59ae06d 100644 (file)
@@ -51,6 +51,7 @@ const jsonIntegerSerialization = n => {
     }
     JSON.stringify(o)
   }
+  return { ok: 1 }
 }
 
 /**
@@ -94,6 +95,7 @@ const readWriteFiles = (
     fs.readFileSync(filePath, 'utf8')
   }
   fs.rmSync(baseDirectory, { recursive: true })
+  return { ok: 1 }
 }
 
 export const executeWorkerFunction = data => {
index e8d16d217313457bffccb269642644207d1292f0..2ec78054e655f25f181e888c0f90b6bd28ba4b66 100644 (file)
@@ -8,9 +8,9 @@ const debug = false
 function workerFunction (data) {
   data = data || {}
   data.function = data.function || WorkerFunctions.jsonIntegerSerialization
-  executeWorkerFunction(data)
+  const res = executeWorkerFunction(data)
   debug === true && console.debug('This is the main thread ' + isMaster)
-  return { ok: 1 }
+  return res
 }
 
 export default new ClusterWorker(workerFunction)
index c1cd01414830aa9eaaa88bd2d7a0a3d0a4854ab4..88d57670f712bae8528724dfeef28d310eb29f65 100644 (file)
@@ -8,9 +8,9 @@ const debug = false
 function workerFunction (data) {
   data = data || {}
   data.function = data.function || WorkerFunctions.jsonIntegerSerialization
-  executeWorkerFunction(data)
+  const res = executeWorkerFunction(data)
   debug === true && console.debug('This is the main thread ' + isMainThread)
-  return { ok: 1 }
+  return res
 }
 
 export default new ThreadWorker(workerFunction)
index da870774b1bd66ee74d8fa8513dfd67e98cb429b..0e31ad5c21927c135ce77d1d69508c7b7061d611 100644 (file)
@@ -711,9 +711,9 @@ describe('Abstract pool test suite', () => {
     )
     const data = { n: 10 }
     const result0 = await pool.execute(data)
-    expect(result0).toBe(false)
+    expect(result0).toStrictEqual({ ok: 1 })
     const result1 = await pool.execute(data, 'jsonIntegerSerialization')
-    expect(result1).toBe(false)
+    expect(result1).toStrictEqual({ ok: 1 })
     const result2 = await pool.execute(data, 'factorial')
     expect(result2).toBe(3628800)
     const result3 = await pool.execute(data, 'fibonacci')
index 753f59af309dfd1e83053f0e1496682f118bb7dd..bd405a771b1d85f64637d3117de45be7dfabeba8 100644 (file)
@@ -77,7 +77,7 @@ describe('Dynamic cluster pool test suite', () => {
       './tests/worker-files/cluster/testWorker.js'
     )
     const result = await pool1.execute()
-    expect(result).toBe(false)
+    expect(result).toStrictEqual({ ok: 1 })
     // We need to clean up the resources after our test
     await pool1.destroy()
   })
index 48455f18011ded1507929a5a74bb06077fda45af..a0331317e7d14809e03dd776c96b1c6bcbd08051 100644 (file)
@@ -74,7 +74,7 @@ describe('Fixed cluster pool test suite', () => {
 
   it('Verify that is possible to invoke the execute() method without input', async () => {
     const result = await pool.execute()
-    expect(result).toBe(false)
+    expect(result).toStrictEqual({ ok: 1 })
   })
 
   it("Verify that 'busy' event is emitted", async () => {
@@ -230,7 +230,7 @@ describe('Fixed cluster pool test suite', () => {
       './tests/worker-files/cluster/testWorker.js'
     )
     const res = await pool1.execute()
-    expect(res).toBe(false)
+    expect(res).toStrictEqual({ ok: 1 })
     // We need to clean up the resources after our test
     await pool1.destroy()
   })
index 65d162399ab798aad102f6978de8a37a5c36a015..56847302653d1ee6df62a1a9bc44499ce8256b9b 100644 (file)
@@ -77,7 +77,7 @@ describe('Dynamic thread pool test suite', () => {
       './tests/worker-files/thread/testWorker.js'
     )
     const res = await pool1.execute()
-    expect(res).toBe(false)
+    expect(res).toStrictEqual({ ok: 1 })
     // We need to clean up the resources after our test
     await pool1.destroy()
   })
index 45197cbade4f5492ea2e2c5933f7a5294bea9bad..a94745e397f42655378deebdb6c4245c5d6c3b45 100644 (file)
@@ -74,7 +74,7 @@ describe('Fixed thread pool test suite', () => {
 
   it('Verify that is possible to invoke the execute() method without input', async () => {
     const result = await pool.execute()
-    expect(result).toBe(false)
+    expect(result).toStrictEqual({ ok: 1 })
   })
 
   it("Verify that 'busy' event is emitted", async () => {
@@ -229,7 +229,7 @@ describe('Fixed thread pool test suite', () => {
       './tests/worker-files/thread/testWorker.js'
     )
     const res = await pool1.execute()
-    expect(res).toBe(false)
+    expect(res).toStrictEqual({ ok: 1 })
     // We need to clean up the resources after our test
     await pool1.destroy()
   })
index ba5e652d0abeb8ccb2f5d39af7336a54ed02c667..1fd59942c4e176a8b8a65e5d03adc5f999a93185 100644 (file)
@@ -72,6 +72,7 @@ const jsonIntegerSerialization = n => {
     }
     JSON.stringify(o)
   }
+  return { ok: 1 }
 }
 
 /**
index 692a2e761e4d1f41c352fc646083c647231d0f51..62b640fbd6d29aa1ec9d524190036f004954ffa8 100644 (file)
@@ -1,5 +1,4 @@
 'use strict'
-const { isMaster } = require('cluster')
 const { ClusterWorker, KillBehaviors } = require('../../../lib')
 const {
   jsonIntegerSerialization,
@@ -9,10 +8,7 @@ const {
 
 module.exports = new ClusterWorker(
   {
-    jsonIntegerSerialization: data => {
-      jsonIntegerSerialization(data.n)
-      return isMaster
-    },
+    jsonIntegerSerialization: data => jsonIntegerSerialization(data.n),
     factorial: data => factorial(data.n),
     fibonacci: data => fibonacci(data.n)
   },
index e79a2102741554178e8c135e136562d6908fa235..25774bb239a084526fc1b833807c4ea2593d0ab3 100644 (file)
@@ -1,5 +1,4 @@
 'use strict'
-const { isMaster } = require('cluster')
 const { ClusterWorker, KillBehaviors } = require('../../../lib')
 const { executeWorkerFunction } = require('../../test-utils')
 const { WorkerFunctions } = require('../../test-types')
@@ -7,11 +6,7 @@ const { WorkerFunctions } = require('../../test-types')
 function test (data) {
   data = data || {}
   data.function = data.function || WorkerFunctions.jsonIntegerSerialization
-  const result = executeWorkerFunction(data)
-  if (result == null) {
-    return isMaster
-  }
-  return result
+  return executeWorkerFunction(data)
 }
 
 module.exports = new ClusterWorker(test, {
index da357a2aef463c2c4a8950f9e38106bd2dc4f2fc..ace9fea0629a1cfe5a69c5324291f3e5d2856cab 100644 (file)
@@ -1,5 +1,4 @@
 'use strict'
-const { isMainThread } = require('worker_threads')
 const { ThreadWorker, KillBehaviors } = require('../../../lib')
 const {
   jsonIntegerSerialization,
@@ -9,10 +8,7 @@ const {
 
 module.exports = new ThreadWorker(
   {
-    jsonIntegerSerialization: data => {
-      jsonIntegerSerialization(data.n)
-      return isMainThread
-    },
+    jsonIntegerSerialization: data => jsonIntegerSerialization(data.n),
     factorial: data => factorial(data.n),
     fibonacci: data => fibonacci(data.n)
   },
index 349336e5897b739a6195130fd56ae8fc3aea4a4f..5779e231d0903c49edb0d85bd225e8ff1b1027ef 100644 (file)
@@ -1,5 +1,4 @@
 'use strict'
-const { isMainThread } = require('worker_threads')
 const { ThreadWorker, KillBehaviors } = require('../../../lib')
 const { executeWorkerFunction } = require('../../test-utils')
 const { WorkerFunctions } = require('../../test-types')
@@ -7,11 +6,7 @@ const { WorkerFunctions } = require('../../test-types')
 function test (data) {
   data = data || {}
   data.function = data.function || WorkerFunctions.jsonIntegerSerialization
-  const result = executeWorkerFunction(data)
-  if (result == null) {
-    return isMainThread
-  }
-  return result
+  return executeWorkerFunction(data)
 }
 
 module.exports = new ThreadWorker(test, {