diff --git a/lib/index.js b/lib/index.js index 3181770..e49448f 100644 --- a/lib/index.js +++ b/lib/index.js @@ -91,7 +91,9 @@ function initNet(peer, config) { async function start() { await stats.loaded() glue(infos, connections) - queueMicrotask(() => scheduler.start.bind(scheduler)) + queueMicrotask(() => scheduler.start.bind(scheduler)((err) => { + if (err) console.error("pzp-net scheduler start failed:", err) + })) } function stop() { diff --git a/test/glue.test.js b/test/glue.test.js index d8f3a15..47f64cc 100644 --- a/test/glue.test.js +++ b/test/glue.test.js @@ -62,6 +62,9 @@ test('Glueing together stats with connections', async (t) => { while (FS.existsSync(statsJSONPath) === false) { await p(setTimeout)(1) } + + await p(setTimeout)(2000) + const fileContents = FS.readFileSync(statsJSONPath, 'utf8') const json = JSON.parse(fileContents) assert.deepEqual(Object.keys(json), [TEST_ADDR]) @@ -101,12 +104,17 @@ test('Glueing together stats with connections', async (t) => { while (FS.existsSync(statsJSONPath) === false) { await p(setTimeout)(1) } + + await p(setTimeout)(1000) + const fileContents = FS.readFileSync(statsJSONPath, 'utf8') assert.equal(fileContents.length > 10, true, 'stats.json is not empty') peer.net.forget(address) await p(setTimeout)(200) + await p(setTimeout)(1000) + const entriesAfterForget = await p(peer.net.peers())(null) assert.equal(entriesAfterForget.length, 0, 'there is no entry in peers()')