OpenAsar/scripts/testStartup.js

35 lines
No EOL
817 B
JavaScript

const { execFile } = require('child_process');
const test = () => {
console.log('running...');
const proc = execFile('xvfb-run', [process.argv[2], '--enable-logging']);
let success = false;
let anyOutput = false;
proc.stderr.on('data', (data) => {
console.error('stderr', data.toString());
});
proc.stdout.on('data', (data) => {
anyOutput = true;
console.log('stdout', data.toString());
if (data.toString().includes('Installing discord_rpc')) {
success = true;
setTimeout(() => proc.kill(), 1000);
}
});
proc.on('close', async () => {
if (!anyOutput) return;
process.exit(success ? 0 : 1);
});
setTimeout(() => {
if (anyOutput) return;
console.log('detected no output in 5s, retrying...');
proc.kill();
test();
}, 5000);
};
test();