rust/src/tools/rustdoc-js/tester.js

46 lines
1.3 KiB
JavaScript
Raw Normal View History

2017-12-12 22:53:24 +00:00
const fs = require('fs');
const path = require('path');
const tools = require('../rustdoc-js-common/lib.js');
2018-01-07 15:20:25 +00:00
2019-02-23 23:08:43 +00:00
function load_files(out_folder, crate) {
var mainJs = tools.readFile(out_folder + "/main.js");
var aliases = tools.readFile(out_folder + "/aliases.js");
var searchIndex = tools.readFile(out_folder + "/search-index.js").split("\n");
2018-01-07 15:20:25 +00:00
return tools.loadMainJsAndIndex(mainJs, aliases, searchIndex, crate);
2019-02-23 23:08:43 +00:00
}
function main(argv) {
if (argv.length < 4) {
console.error("USAGE: node tester.js OUT_FOLDER [TESTS]");
2019-02-23 23:08:43 +00:00
return 1;
}
if (argv[2].substr(-1) !== "/") {
argv[2] += "/";
}
const out_folder = argv[2];
2018-01-07 15:20:25 +00:00
var errors = 0;
for (var j = 3; j < argv.length; ++j) {
const test_file = argv[j];
const test_name = path.basename(test_file, ".js");
2019-02-23 23:08:43 +00:00
process.stdout.write('Checking "' + test_name + '" ... ');
if (!fs.existsSync(test_file)) {
2019-02-23 23:08:43 +00:00
errors += 1;
console.error("FAILED");
console.error("==> Missing '" + test_name + ".js' file...");
continue;
2019-02-23 23:08:43 +00:00
}
const test_out_folder = out_folder + test_name;
var [loaded, index] = load_files(test_out_folder, test_name);
errors += tools.runChecks(test_file, loaded, index);
}
return errors > 0 ? 1 : 0;
2017-12-12 22:53:24 +00:00
}
2018-01-07 15:20:25 +00:00
process.exit(main(process.argv));