class TestUtils {
static async waitExits (pool, numberOfExitEventsToWait) {
let exitEvents = 0
- return new Promise(function (resolve, reject) {
+ return new Promise(resolve => {
pool.workers.forEach(w => {
w.on('exit', () => {
exitEvents++
return new Promise(resolve => setTimeout(resolve, ms))
}
- static async workerSleepFunction (data, ms) {
+ static async workerSleepFunction (
+ data,
+ ms,
+ rejection = false,
+ rejectionMessage = ''
+ ) {
return new Promise((resolve, reject) => {
- setTimeout(() => resolve(data), ms)
+ setTimeout(
+ () =>
+ rejection === true
+ ? reject(new Error(rejectionMessage))
+ : resolve(data),
+ ms
+ )
})
}
/**
* Intentionally inefficient implementation.
*
- * @param {*} n
+ * @param {number} n
* @returns {number}
*/
static fibonacci (n) {
/**
* Intentionally inefficient implementation.
*
- * @param {*} n
+ * @param {number} n
* @returns {number}
*/
static factorial (n) {