diff options
| author | Stefan Schindler <dns2utf8@estada.ch> | 2021-06-25 09:59:04 +0200 |
|---|---|---|
| committer | Stefan Schindler <dns2utf8@estada.ch> | 2021-08-10 00:47:04 +0200 |
| commit | c4eefc3be19aec951b7c90b38aa71ee9f3e96789 (patch) | |
| tree | 8ae665ded99bff959dce11d8f35749f3d65646ba /src | |
| parent | ae90dcf0207c57c3034f00b07048d63f8b2363c8 (diff) | |
| download | rust-c4eefc3be19aec951b7c90b38aa71ee9f3e96789.tar.gz rust-c4eefc3be19aec951b7c90b38aa71ee9f3e96789.zip | |
Run rustdoc-gui tests in parallel
Diffstat (limited to 'src')
| -rw-r--r-- | src/tools/rustdoc-gui/tester.js | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/src/tools/rustdoc-gui/tester.js b/src/tools/rustdoc-gui/tester.js index 416d824c564..491884b0781 100644 --- a/src/tools/rustdoc-gui/tester.js +++ b/src/tools/rustdoc-gui/tester.js @@ -70,6 +70,14 @@ function parseOptions(args) { return null; } +function print_test_successful() { + process.stdout.write("."); +} +function print_test_erroneous() { + // Bold Red "F" Reset + process.stdout.write("\033[1m\x1b[31mF\x1b[0m"); +} + async function main(argv) { let opts = parseOptions(argv.slice(2)); if (opts === null) { @@ -100,27 +108,48 @@ async function main(argv) { let failed = false; let files; + let tests = []; if (opts["files"].length === 0) { files = fs.readdirSync(opts["tests_folder"]).filter(file => path.extname(file) == ".goml"); } else { files = opts["files"].filter(file => path.extname(file) == ".goml"); } - + if (files.length === 0) { + console.log("rustdoc-gui: No test selected"); + process.exit(2); + } files.sort(); + + console.log(`running ${files.length} rustdoc-gui tests`); + process.setMaxListeners(files.length + 1); for (var i = 0; i < files.length; ++i) { const testPath = path.join(opts["tests_folder"], files[i]); - await runTest(testPath, options).then(out => { + tests.push(runTest(testPath, options)); + } + + let error_outputs = ""; + let failed_outputs = ""; + for (var i = 0; i < tests.length; ++i) { + await tests[i].then(out => { const [output, nb_failures] = out; - console.log(output); if (nb_failures > 0) { + failed_outputs += output + "\n"; + print_test_erroneous() failed = true; + } else { + print_test_successful() } }).catch(err => { - console.error(err); + error_outputs += err + "\n"; + print_test_erroneous(); failed = true; }); } + console.log("") + if (failed) { + console.log(failed_outputs); + console.error(error_outputs); process.exit(1); } } |
