Fix flaky test-release test

This commit is contained in:
Fedor Indutny 2022-01-12 11:15:58 -08:00 committed by GitHub
parent 0a90380ac8
commit e5111c4565
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 3 deletions

View file

@ -0,0 +1,55 @@
// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-disable no-console */
import { execFileSync } from 'child_process';
import { join } from 'path';
const ROOT_DIR = join(__dirname, '..', '..');
const ELECTRON = join(
ROOT_DIR,
'node_modules',
'.bin',
process.platform === 'win32' ? 'electron.cmd' : 'electron'
);
const stdout = execFileSync(ELECTRON, [ROOT_DIR], {
cwd: ROOT_DIR,
env: {
...process.env,
NODE_ENV: 'test',
TEST_QUIT_ON_COMPLETE: 'on',
},
encoding: 'utf8',
});
const match = stdout.match(/ci:test-electron:done=(.*)?\n/);
if (!match) {
throw new Error('No test results were found in stdout');
}
const {
passed,
failed,
}: {
passed: Array<string>;
failed: Array<{ testName: string; error: string }>;
} = JSON.parse(match[1]);
const total = passed.length + failed.length;
for (const { testName, error } of failed) {
console.error(`- ${testName}`);
console.error(error);
console.error('');
}
console.log(
`Passed ${passed.length} | Failed ${failed.length} | Total ${total}`
);
if (failed.length !== 0) {
process.exit(1);
}