mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-03-30 22:31:03 +00:00
42 lines
990 B
JavaScript
42 lines
990 B
JavaScript
'use strict'
|
|
|
|
const path = require('path')
|
|
const execa = require('execa')
|
|
const pDefer = require('p-defer')
|
|
const uint8ArrayToString = require('uint8arrays/to-string')
|
|
|
|
async function test () {
|
|
const deferNode1 = pDefer()
|
|
const deferNode2 = pDefer()
|
|
const deferNode3 = pDefer()
|
|
|
|
process.stdout.write('3.js\n')
|
|
|
|
const proc = execa('node', [path.join(__dirname, '3.js')], {
|
|
cwd: path.resolve(__dirname),
|
|
all: true
|
|
})
|
|
|
|
proc.all.on('data', async (data) => {
|
|
process.stdout.write(data)
|
|
const line = uint8ArrayToString(data)
|
|
|
|
if (line.includes('node 1 dialed to node 2 successfully')) {
|
|
deferNode1.resolve()
|
|
} else if (line.includes('node 2 dialed to node 3 successfully')) {
|
|
deferNode2.resolve()
|
|
} else if (line.includes('node 3 failed to dial to node 1 with:')) {
|
|
deferNode3.resolve()
|
|
}
|
|
})
|
|
|
|
await Promise.all([
|
|
deferNode1.promise,
|
|
deferNode2.promise,
|
|
deferNode3.promise
|
|
])
|
|
proc.kill()
|
|
}
|
|
|
|
module.exports = test
|