-class TestUtils {
- static async waitExits (pool, numberOfExitEventsToWait) {
- return new Promise(resolve => {
- let exitEvents = 0
- for (const value of pool.workers.values()) {
- value.worker.on('exit', () => {
- ++exitEvents
- if (exitEvents === numberOfExitEventsToWait) {
- resolve(exitEvents)
- }
- })
+const waitWorkerEvents = async (pool, workerEvent, numberOfEventsToWait) => {
+ return new Promise(resolve => {
+ let events = 0
+ if (numberOfEventsToWait === 0) {
+ resolve(events)
+ }
+ for (const workerNode of pool.workerNodes) {
+ workerNode.worker.on(workerEvent, () => {
+ ++events
+ if (events === numberOfEventsToWait) {
+ resolve(events)
+ }
+ })
+ }
+ })
+}
+
+const waitPoolEvents = async (pool, poolEvent, numberOfEventsToWait) => {
+ return new Promise(resolve => {
+ let events = 0
+ if (numberOfEventsToWait === 0) {
+ resolve(events)
+ }
+ pool.emitter?.on(poolEvent, () => {
+ ++events
+ if (events === numberOfEventsToWait) {
+ resolve(events)