X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Fpools%2Fselection-strategies%2Fselection-strategies.test.js;h=1ecd270fcce7915d6d0c75d325d35ed3ffd4dd96;hb=18482cecfe80c8f9215650fb6b2c3ee785bb6368;hp=e8d9d66b751e305b79ce2e5147eedb3eb6bcb48a;hpb=138d29a820e8a61d10ba03fe42c5d77596ef788c;p=poolifier.git diff --git a/tests/pools/selection-strategies/selection-strategies.test.js b/tests/pools/selection-strategies/selection-strategies.test.js index e8d9d66b..1ecd270f 100644 --- a/tests/pools/selection-strategies/selection-strategies.test.js +++ b/tests/pools/selection-strategies/selection-strategies.test.js @@ -80,12 +80,12 @@ describe('Selection strategies test suite', () => { expect( pool.workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy - ).workersVirtualTaskTimestamp + ).workersVirtualTaskEndTimestamp ).toBeInstanceOf(Array) expect( pool.workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy - ).workersVirtualTaskTimestamp.length + ).workersVirtualTaskEndTimestamp.length ).toBe(0) } else if ( workerChoiceStrategy === WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN @@ -153,12 +153,10 @@ describe('Selection strategies test suite', () => { { workerChoiceStrategy: WorkerChoiceStrategies.ROUND_ROBIN } ) // TODO: Create a better test to cover `RoundRobinWorkerChoiceStrategy#choose` - const promises = [] const maxMultiplier = 2 for (let i = 0; i < max * maxMultiplier; i++) { - promises.push(pool.execute()) + await pool.execute() } - await Promise.all(promises) // We need to clean up the resources after our test await pool.destroy() }) @@ -171,12 +169,10 @@ describe('Selection strategies test suite', () => { { workerChoiceStrategy: WorkerChoiceStrategies.ROUND_ROBIN } ) // TODO: Create a better test to cover `RoundRobinWorkerChoiceStrategy#choose` - const promises = [] const maxMultiplier = 2 for (let i = 0; i < max * maxMultiplier; i++) { - promises.push(pool.execute()) + await pool.execute() } - await Promise.all(promises) // We need to clean up the resources after our test await pool.destroy() }) @@ -290,12 +286,10 @@ describe('Selection strategies test suite', () => { { workerChoiceStrategy: WorkerChoiceStrategies.LESS_USED } ) // TODO: Create a better test to cover `LessUsedWorkerChoiceStrategy#choose` - const promises = [] const maxMultiplier = 2 for (let i = 0; i < max * maxMultiplier; i++) { - promises.push(pool.execute()) + await pool.execute() } - await Promise.all(promises) // We need to clean up the resources after our test await pool.destroy() }) @@ -308,12 +302,10 @@ describe('Selection strategies test suite', () => { { workerChoiceStrategy: WorkerChoiceStrategies.LESS_USED } ) // TODO: Create a better test to cover `LessUsedWorkerChoiceStrategy#choose` - const promises = [] const maxMultiplier = 2 for (let i = 0; i < max * maxMultiplier; i++) { - promises.push(pool.execute()) + await pool.execute() } - await Promise.all(promises) // We need to clean up the resources after our test await pool.destroy() }) @@ -361,12 +353,10 @@ describe('Selection strategies test suite', () => { { workerChoiceStrategy: WorkerChoiceStrategies.LESS_BUSY } ) // TODO: Create a better test to cover `LessBusyWorkerChoiceStrategy#choose` - const promises = [] const maxMultiplier = 2 for (let i = 0; i < max * maxMultiplier; i++) { - promises.push(pool.execute()) + await pool.execute() } - await Promise.all(promises) // We need to clean up the resources after our test await pool.destroy() }) @@ -379,12 +369,10 @@ describe('Selection strategies test suite', () => { { workerChoiceStrategy: WorkerChoiceStrategies.LESS_BUSY } ) // TODO: Create a better test to cover `LessBusyWorkerChoiceStrategy#choose` - const promises = [] const maxMultiplier = 2 for (let i = 0; i < max * maxMultiplier; i++) { - promises.push(pool.execute()) + await pool.execute() } - await Promise.all(promises) // We need to clean up the resources after our test await pool.destroy() }) @@ -432,12 +420,10 @@ describe('Selection strategies test suite', () => { { workerChoiceStrategy: WorkerChoiceStrategies.FAIR_SHARE } ) // TODO: Create a better test to cover `FairShareChoiceStrategy#choose` - const promises = [] const maxMultiplier = 2 for (let i = 0; i < max * maxMultiplier; i++) { - promises.push(pool.execute()) + await pool.execute() } - await Promise.all(promises) for (const workerNode of pool.workerNodes) { expect(workerNode.tasksUsage.avgRunTime).toBeDefined() expect(workerNode.tasksUsage.avgRunTime).toBeGreaterThanOrEqual(0) @@ -447,7 +433,7 @@ describe('Selection strategies test suite', () => { expect( pool.workerChoiceStrategyContext.workerChoiceStrategies.get( pool.workerChoiceStrategyContext.workerChoiceStrategy - ).workersVirtualTaskTimestamp.length + ).workersVirtualTaskEndTimestamp.length ).toBe(pool.workerNodes.length) // We need to clean up the resources after our test await pool.destroy() @@ -461,12 +447,10 @@ describe('Selection strategies test suite', () => { { workerChoiceStrategy: WorkerChoiceStrategies.FAIR_SHARE } ) // TODO: Create a better test to cover `FairShareChoiceStrategy#choose` - const promises = [] const maxMultiplier = 2 for (let i = 0; i < max * maxMultiplier; i++) { - promises.push(pool.execute()) + await pool.execute() } - await Promise.all(promises) for (const workerNode of pool.workerNodes) { expect(workerNode.tasksUsage.avgRunTime).toBeDefined() expect(workerNode.tasksUsage.avgRunTime).toBeGreaterThanOrEqual(0) @@ -476,7 +460,7 @@ describe('Selection strategies test suite', () => { expect( pool.workerChoiceStrategyContext.workerChoiceStrategies.get( pool.workerChoiceStrategyContext.workerChoiceStrategy - ).workersVirtualTaskTimestamp.length + ).workersVirtualTaskEndTimestamp.length ).toBe(pool.workerNodes.length) // We need to clean up the resources after our test await pool.destroy() @@ -495,12 +479,10 @@ describe('Selection strategies test suite', () => { } ) // TODO: Create a better test to cover `FairShareChoiceStrategy#choose` - const promises = [] const maxMultiplier = 2 for (let i = 0; i < max * maxMultiplier; i++) { - promises.push(pool.execute()) + await pool.execute() } - await Promise.all(promises) for (const workerNode of pool.workerNodes) { expect(workerNode.tasksUsage.avgRunTime).toBeDefined() expect(workerNode.tasksUsage.avgRunTime).toBe(0) @@ -510,7 +492,7 @@ describe('Selection strategies test suite', () => { expect( pool.workerChoiceStrategyContext.workerChoiceStrategies.get( pool.workerChoiceStrategyContext.workerChoiceStrategy - ).workersVirtualTaskTimestamp.length + ).workersVirtualTaskEndTimestamp.length ).toBe(pool.workerNodes.length) // We need to clean up the resources after our test await pool.destroy() @@ -525,31 +507,31 @@ describe('Selection strategies test suite', () => { expect( pool.workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy - ).workersVirtualTaskTimestamp + ).workersVirtualTaskEndTimestamp ).toBeInstanceOf(Array) expect( pool.workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy - ).workersVirtualTaskTimestamp.length + ).workersVirtualTaskEndTimestamp.length ).toBe(0) pool.workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy - ).workersVirtualTaskTimestamp[0] = 0 + ).workersVirtualTaskEndTimestamp[0] = performance.now() expect( pool.workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy - ).workersVirtualTaskTimestamp.length + ).workersVirtualTaskEndTimestamp.length ).toBe(1) pool.setWorkerChoiceStrategy(workerChoiceStrategy) expect( pool.workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy - ).workersVirtualTaskTimestamp + ).workersVirtualTaskEndTimestamp ).toBeInstanceOf(Array) expect( pool.workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy - ).workersVirtualTaskTimestamp.length + ).workersVirtualTaskEndTimestamp.length ).toBe(0) await pool.destroy() pool = new DynamicThreadPool( @@ -560,31 +542,31 @@ describe('Selection strategies test suite', () => { expect( pool.workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy - ).workersVirtualTaskTimestamp + ).workersVirtualTaskEndTimestamp ).toBeInstanceOf(Array) expect( pool.workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy - ).workersVirtualTaskTimestamp.length + ).workersVirtualTaskEndTimestamp.length ).toBe(0) pool.workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy - ).workersVirtualTaskTimestamp[0] = 0 + ).workersVirtualTaskEndTimestamp[0] = performance.now() expect( pool.workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy - ).workersVirtualTaskTimestamp.length + ).workersVirtualTaskEndTimestamp.length ).toBe(1) pool.setWorkerChoiceStrategy(workerChoiceStrategy) expect( pool.workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy - ).workersVirtualTaskTimestamp + ).workersVirtualTaskEndTimestamp ).toBeInstanceOf(Array) expect( pool.workerChoiceStrategyContext.workerChoiceStrategies.get( workerChoiceStrategy - ).workersVirtualTaskTimestamp.length + ).workersVirtualTaskEndTimestamp.length ).toBe(0) // We need to clean up the resources after our test await pool.destroy() @@ -633,12 +615,10 @@ describe('Selection strategies test suite', () => { { workerChoiceStrategy: WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN } ) // TODO: Create a better test to cover `WeightedRoundRobinWorkerChoiceStrategy#choose` - const promises = [] const maxMultiplier = 2 for (let i = 0; i < max * maxMultiplier; i++) { - promises.push(pool.execute()) + await pool.execute() } - await Promise.all(promises) for (const workerNode of pool.workerNodes) { expect(workerNode.tasksUsage.avgRunTime).toBeDefined() expect(workerNode.tasksUsage.avgRunTime).toBeGreaterThanOrEqual(0) @@ -667,12 +647,10 @@ describe('Selection strategies test suite', () => { { workerChoiceStrategy: WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN } ) // TODO: Create a better test to cover `WeightedRoundRobinWorkerChoiceStrategy#choose` - const promises = [] const maxMultiplier = 2 for (let i = 0; i < max * maxMultiplier; i++) { - promises.push(pool.execute()) + await pool.execute() } - await Promise.all(promises) for (const workerNode of pool.workerNodes) { expect(workerNode.tasksUsage.avgRunTime).toBeDefined() expect(workerNode.tasksUsage.avgRunTime).toBeGreaterThanOrEqual(0) @@ -706,12 +684,10 @@ describe('Selection strategies test suite', () => { } ) // TODO: Create a better test to cover `WeightedRoundRobinWorkerChoiceStrategy#choose` - const promises = [] const maxMultiplier = 2 for (let i = 0; i < max * maxMultiplier; i++) { - promises.push(pool.execute()) + await pool.execute() } - await Promise.all(promises) for (const workerNode of pool.workerNodes) { expect(workerNode.tasksUsage.avgRunTime).toBeDefined() expect(workerNode.tasksUsage.avgRunTime).toBe(0)