ssh2
Version:
SSH2 client and server modules written in pure JavaScript for node.js
26 lines (23 loc) • 739 B
JavaScript
// Test for thread-safety issues caused by subsequent imports of the module
// in worker threads: https://github.com/mscdex/ssh2/issues/1393.
// Each subsequent worker increases probability of abnormal termination.
// The probability of a false pass due to zero response becomes negligible
// for 4 consecutive workers.
;
let Worker, isMainThread;
try {
({ Worker, isMainThread } = require('worker_threads'));
} catch (e) {
if (e.code !== 'MODULE_NOT_FOUND') throw e;
process.exit(0);
}
require('../lib/index.js');
if (isMainThread) {
async function runWorker() {
return new Promise((r) => new Worker(__filename).on('exit', r));
}
runWorker()
.then(runWorker)
.then(runWorker)
.then(runWorker);
}