35 lines
No EOL
817 B
JavaScript
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(); |