X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Fpools%2Fselection-strategies%2Fselection-strategies.test.js;h=d09dde6f636f29cb3839888889cd0e9a0dd5979f;hb=97a2abc3c559695c4fae99c48d1a2dc636275ccb;hp=ac3e27204697e10663542ab3701e67fa47340269;hpb=168c526f6e6913506e56f7d5107335c3d3d42938;p=poolifier.git diff --git a/tests/pools/selection-strategies/selection-strategies.test.js b/tests/pools/selection-strategies/selection-strategies.test.js index ac3e2720..d09dde6f 100644 --- a/tests/pools/selection-strategies/selection-strategies.test.js +++ b/tests/pools/selection-strategies/selection-strategies.test.js @@ -70,8 +70,7 @@ describe('Selection strategies test suite', () => { ) pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.ROUND_ROBIN) expect( - pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() - .requiredStatistics.runTime + pool.workerChoiceStrategyContext.getRequiredStatistics().runTime ).toBe(false) await pool.destroy() pool = new DynamicThreadPool( @@ -81,8 +80,7 @@ describe('Selection strategies test suite', () => { ) pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.ROUND_ROBIN) expect( - pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() - .requiredStatistics.runTime + pool.workerChoiceStrategyContext.getRequiredStatistics().runTime ).toBe(false) // We need to clean up the resources after our test await pool.destroy() @@ -134,14 +132,14 @@ describe('Selection strategies test suite', () => { ) let results = new Set() for (let i = 0; i < max; i++) { - results.add(pool.chooseWorker().id) + results.add(pool.chooseWorker()[1].id) } expect(results.size).toBe(max) await pool.destroy() pool = new FixedThreadPool(max, './tests/worker-files/thread/testWorker.js') results = new Set() for (let i = 0; i < max; i++) { - results.add(pool.chooseWorker().threadId) + results.add(pool.chooseWorker()[1].threadId) } expect(results.size).toBe(max) await pool.destroy() @@ -213,8 +211,7 @@ describe('Selection strategies test suite', () => { ) pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.LESS_USED) expect( - pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() - .requiredStatistics.runTime + pool.workerChoiceStrategyContext.getRequiredStatistics().runTime ).toBe(false) await pool.destroy() pool = new DynamicThreadPool( @@ -224,8 +221,7 @@ describe('Selection strategies test suite', () => { ) pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.LESS_USED) expect( - pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() - .requiredStatistics.runTime + pool.workerChoiceStrategyContext.getRequiredStatistics().runTime ).toBe(false) // We need to clean up the resources after our test await pool.destroy() @@ -297,8 +293,7 @@ describe('Selection strategies test suite', () => { ) pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.LESS_BUSY) expect( - pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() - .requiredStatistics.runTime + pool.workerChoiceStrategyContext.getRequiredStatistics().runTime ).toBe(true) await pool.destroy() pool = new DynamicThreadPool( @@ -308,8 +303,7 @@ describe('Selection strategies test suite', () => { ) pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.LESS_BUSY) expect( - pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() - .requiredStatistics.runTime + pool.workerChoiceStrategyContext.getRequiredStatistics().runTime ).toBe(true) // We need to clean up the resources after our test await pool.destroy() @@ -357,18 +351,18 @@ describe('Selection strategies test suite', () => { expect(pool.opts.workerChoiceStrategy).toBe( WorkerChoiceStrategies.FAIR_SHARE ) - for (const worker of pool.workerChoiceStrategyContext + for (const workerKey of pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() .workerLastVirtualTaskTimestamp.keys()) { expect( pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() - .workerLastVirtualTaskTimestamp.get(worker).start + .workerLastVirtualTaskTimestamp.get(workerKey).start ).toBe(0) expect( pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() - .workerLastVirtualTaskTimestamp.get(worker).end + .workerLastVirtualTaskTimestamp.get(workerKey).end ).toBe(0) } // We need to clean up the resources after our test @@ -395,8 +389,7 @@ describe('Selection strategies test suite', () => { ) pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.FAIR_SHARE) expect( - pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() - .requiredStatistics.runTime + pool.workerChoiceStrategyContext.getRequiredStatistics().runTime ).toBe(true) await pool.destroy() pool = new DynamicThreadPool( @@ -406,8 +399,7 @@ describe('Selection strategies test suite', () => { ) pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.FAIR_SHARE) expect( - pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() - .requiredStatistics.runTime + pool.workerChoiceStrategyContext.getRequiredStatistics().runTime ).toBe(true) // We need to clean up the resources after our test await pool.destroy() @@ -425,6 +417,10 @@ describe('Selection strategies test suite', () => { promises.push(pool.execute()) } await Promise.all(promises) + expect( + pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() + .workerLastVirtualTaskTimestamp.size + ).toBe(pool.workers.length) // We need to clean up the resources after our test await pool.destroy() }) @@ -442,6 +438,10 @@ describe('Selection strategies test suite', () => { promises.push(pool.execute()) } await Promise.all(promises) + // expect( + // pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() + // .workerChoiceStrategy.workerLastVirtualTaskTimestamp.size + // ).toBe(pool.workers.length) // We need to clean up the resources after our test await pool.destroy() }) @@ -456,18 +456,18 @@ describe('Selection strategies test suite', () => { .workerLastVirtualTaskTimestamp ).toBeUndefined() pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.FAIR_SHARE) - for (const worker of pool.workerChoiceStrategyContext + for (const workerKey of pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() .workerLastVirtualTaskTimestamp.keys()) { expect( pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() - .workerLastVirtualTaskTimestamp.get(worker).start + .workerLastVirtualTaskTimestamp.get(workerKey).start ).toBe(0) expect( pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() - .workerLastVirtualTaskTimestamp.get(worker).end + .workerLastVirtualTaskTimestamp.get(workerKey).end ).toBe(0) } await pool.destroy() @@ -481,18 +481,20 @@ describe('Selection strategies test suite', () => { .workerChoiceStrategy.workerLastVirtualTaskTimestamp ).toBeUndefined() pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.FAIR_SHARE) - for (const worker of pool.workerChoiceStrategyContext + for (const workerKey of pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() .workerChoiceStrategy.workerLastVirtualTaskTimestamp.keys()) { expect( pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() - .workerChoiceStrategy.workerLastVirtualTaskTimestamp.get(worker).start + .workerChoiceStrategy.workerLastVirtualTaskTimestamp.get(workerKey) + .start ).toBe(0) expect( pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() - .workerChoiceStrategy.workerLastVirtualTaskTimestamp.get(worker).end + .workerChoiceStrategy.workerLastVirtualTaskTimestamp.get(workerKey) + .end ).toBe(0) } // We need to clean up the resources after our test @@ -515,18 +517,18 @@ describe('Selection strategies test suite', () => { pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() .defaultWorkerWeight ).toBeGreaterThan(0) - for (const worker of pool.workerChoiceStrategyContext + for (const workerKey of pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() .workersTaskRunTime.keys()) { expect( pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() - .workersTaskRunTime.get(worker).weight + .workersTaskRunTime.get(workerKey).weight ).toBeGreaterThan(0) expect( pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() - .workersTaskRunTime.get(worker).runTime + .workersTaskRunTime.get(workerKey).runTime ).toBe(0) } // We need to clean up the resources after our test @@ -553,8 +555,7 @@ describe('Selection strategies test suite', () => { ) pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN) expect( - pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() - .requiredStatistics.runTime + pool.workerChoiceStrategyContext.getRequiredStatistics().runTime ).toBe(true) await pool.destroy() pool = new DynamicThreadPool( @@ -564,8 +565,7 @@ describe('Selection strategies test suite', () => { ) pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN) expect( - pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() - .requiredStatistics.runTime + pool.workerChoiceStrategyContext.getRequiredStatistics().runTime ).toBe(true) // We need to clean up the resources after our test await pool.destroy() @@ -583,6 +583,10 @@ describe('Selection strategies test suite', () => { promises.push(pool.execute()) } await Promise.all(promises) + expect( + pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() + .workersTaskRunTime.size + ).toBe(pool.workers.length) // We need to clean up the resources after our test await pool.destroy() }) @@ -600,6 +604,10 @@ describe('Selection strategies test suite', () => { promises.push(pool.execute()) } await Promise.all(promises) + // expect( + // pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() + // .workerChoiceStrategy.workersTaskRunTime.size + // ).toBe(pool.workers.length) // We need to clean up the resources after our test await pool.destroy() }) @@ -628,13 +636,13 @@ describe('Selection strategies test suite', () => { pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() .defaultWorkerWeight ).toBeGreaterThan(0) - for (const worker of pool.workerChoiceStrategyContext + for (const workerKey of pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() .workersTaskRunTime.keys()) { expect( pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() - .workersTaskRunTime.get(worker).runTime + .workersTaskRunTime.get(workerKey).runTime ).toBe(0) } await pool.destroy() @@ -664,13 +672,13 @@ describe('Selection strategies test suite', () => { pool.workerChoiceStrategyContext.getWorkerChoiceStrategy() .workerChoiceStrategy.defaultWorkerWeight ).toBeGreaterThan(0) - for (const worker of pool.workerChoiceStrategyContext + for (const workerKey of pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() .workerChoiceStrategy.workersTaskRunTime.keys()) { expect( pool.workerChoiceStrategyContext .getWorkerChoiceStrategy() - .workerChoiceStrategy.workersTaskRunTime.get(worker).runTime + .workerChoiceStrategy.workersTaskRunTime.get(workerKey).runTime ).toBe(0) } // We need to clean up the resources after our test