flying-squid/test/common/parallel.js
2021-04-21 18:59:44 +02:00

31 lines
1 KiB
JavaScript
Executable file

const nodeIndex = parseInt(process.env.CIRCLE_NODE_INDEX)
const nodeTotal = parseInt(process.env.CIRCLE_NODE_TOTAL)
const parallel = process.env.CIRCLE_NODE_INDEX !== undefined && process.env.CIRCLE_NODE_TOTAL !== undefined
const mc = require('../../')
// expected values :
// (0,4,10) -> (0,2)
// (1,4,10) -> (3,5)
// (2,4,10) -> (6,8)
// (3,4,10) -> (9,9)
function testedRange (nodeIndex, nodeTotal, numberOfVersions) {
const nbFirsts = Math.ceil(numberOfVersions / nodeTotal)
if (nodeIndex === (nodeTotal - 1)) {
return {
firstVersion: nbFirsts * nodeIndex,
lastVersion: numberOfVersions - 1
}
}
return {
firstVersion: nodeIndex * nbFirsts,
lastVersion: (nodeIndex + 1) * nbFirsts - 1
}
}
console.log({ nodeIndex, nodeTotal, versions: mc.supportedVersions.length })
const { firstVersion, lastVersion } = parallel ? testedRange(nodeIndex, nodeTotal, mc.supportedVersions.length) : {
firstVersion: 0,
lastVersion: mc.supportedVersions.length - 1
}
module.exports = { firstVersion, lastVersion }