diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2019-02-24 00:08:43 +0100 |
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2019-02-25 17:46:06 +0100 |
| commit | aa3ca321e92c541dce363634c9cea7cf23689a5e (patch) | |
| tree | 3892956ba062a30f060d0e9b74cdbd09eca8121e | |
| parent | 834347ddafee7c33f3fd556c4976275b1111dc8f (diff) | |
| download | rust-aa3ca321e92c541dce363634c9cea7cf23689a5e.tar.gz rust-aa3ca321e92c541dce363634c9cea7cf23689a5e.zip | |
Rename rustdoc js test suites
| -rw-r--r-- | src/bootstrap/builder.rs | 2 | ||||
| -rw-r--r-- | src/bootstrap/test.rs | 18 | ||||
| -rw-r--r-- | src/test/rustdoc-js-not-std/basic.js | 7 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/alias-1.js (renamed from src/test/rustdoc-js/alias-1.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/alias-2.js (renamed from src/test/rustdoc-js/alias-2.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/alias-3.js (renamed from src/test/rustdoc-js/alias-3.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/alias.js (renamed from src/test/rustdoc-js/alias.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/basic.js | 15 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/deduplication.js (renamed from src/test/rustdoc-js/deduplication.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/enum-option.js (renamed from src/test/rustdoc-js/enum-option.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/filter-crate.js (renamed from src/test/rustdoc-js/filter-crate.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/fn-forget.js (renamed from src/test/rustdoc-js/fn-forget.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/from_u.js (renamed from src/test/rustdoc-js/from_u.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/keyword.js (renamed from src/test/rustdoc-js/keyword.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/macro-check.js (renamed from src/test/rustdoc-js/macro-check.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/macro-print.js (renamed from src/test/rustdoc-js/macro-print.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/multi-query.js (renamed from src/test/rustdoc-js/multi-query.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/never.js (renamed from src/test/rustdoc-js/never.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/quoted.js (renamed from src/test/rustdoc-js/quoted.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/should-fail.js (renamed from src/test/rustdoc-js/should-fail.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/string-from_ut.js (renamed from src/test/rustdoc-js/string-from_ut.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/struct-vec.js (renamed from src/test/rustdoc-js/struct-vec.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js-std/vec-new.js (renamed from src/test/rustdoc-js/vec-new.js) | 0 | ||||
| -rw-r--r-- | src/test/rustdoc-js/basic.js | 12 | ||||
| -rw-r--r-- | src/test/rustdoc-js/basic.rs (renamed from src/test/rustdoc-js-not-std/basic.rs) | 0 | ||||
| -rw-r--r-- | src/tools/rustdoc-js-std/tester.js (renamed from src/tools/rustdoc-js-not-std/tester.js) | 74 | ||||
| -rw-r--r-- | src/tools/rustdoc-js/tester.js | 65 |
27 files changed, 93 insertions, 100 deletions
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs index 71b9cd6f9fb..a471af25766 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs @@ -405,7 +405,7 @@ impl<'a> Builder<'a> { test::Miri, test::Clippy, test::CompiletestTest, - test::RustdocJS, + test::RustdocJSStd, test::RustdocJSNotStd, test::RustdocTheme, // Run bootstrap close to the end as it's unlikely to fail diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs index 7dcc10e8a09..c724d75c2dc 100644 --- a/src/bootstrap/test.rs +++ b/src/bootstrap/test.rs @@ -574,22 +574,22 @@ impl Step for RustdocTheme { } #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] -pub struct RustdocJS { +pub struct RustdocJSStd { pub host: Interned<String>, pub target: Interned<String>, } -impl Step for RustdocJS { +impl Step for RustdocJSStd { type Output = (); const DEFAULT: bool = true; const ONLY_HOSTS: bool = true; fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> { - run.path("src/test/rustdoc-js") + run.path("src/test/rustdoc-js-std") } fn make_run(run: RunConfig<'_>) { - run.builder.ensure(RustdocJS { + run.builder.ensure(RustdocJSStd { host: run.host, target: run.target, }); @@ -598,7 +598,7 @@ impl Step for RustdocJS { fn run(self, builder: &Builder<'_>) { if let Some(ref nodejs) = builder.config.nodejs { let mut command = Command::new(nodejs); - command.args(&["src/tools/rustdoc-js/tester.js", &*self.host]); + command.args(&["src/tools/rustdoc-js-std/tester.js", &*self.host]); builder.ensure(crate::doc::Std { target: self.target, stage: builder.top_stage, @@ -606,7 +606,7 @@ impl Step for RustdocJS { builder.run(&mut command); } else { builder.info( - "No nodejs found, skipping \"src/test/rustdoc-js\" tests" + "No nodejs found, skipping \"src/test/rustdoc-js-std\" tests" ); } } @@ -625,7 +625,7 @@ impl Step for RustdocJSNotStd { const ONLY_HOSTS: bool = true; fn should_run(run: ShouldRun) -> ShouldRun { - run.path("src/test/rustdoc-js-not-std") + run.path("src/test/rustdoc-js") } fn make_run(run: RunConfig) { @@ -640,7 +640,7 @@ impl Step for RustdocJSNotStd { fn run(self, builder: &Builder) { if let Some(ref nodejs) = builder.config.nodejs { let mut command = Command::new(nodejs); - command.args(&["src/tools/rustdoc-js-not-std/tester.js", + command.args(&["src/tools/rustdoc-js/tester.js", &*self.host, builder.top_stage.to_string().as_str()]); builder.ensure(crate::doc::Std { @@ -650,7 +650,7 @@ impl Step for RustdocJSNotStd { builder.run(&mut command); } else { builder.info( - "No nodejs found, skipping \"src/test/rustdoc-js-not-std\" tests" + "No nodejs found, skipping \"src/test/rustdoc-js\" tests" ); } } diff --git a/src/test/rustdoc-js-not-std/basic.js b/src/test/rustdoc-js-not-std/basic.js deleted file mode 100644 index d99b23468b6..00000000000 --- a/src/test/rustdoc-js-not-std/basic.js +++ /dev/null @@ -1,7 +0,0 @@ -const QUERY = 'Fo'; - -const EXPECTED = { - 'others': [ - { 'path': 'basic', 'name': 'Foo' }, - ], -}; diff --git a/src/test/rustdoc-js/alias-1.js b/src/test/rustdoc-js-std/alias-1.js index 7c6327fcdd7..7c6327fcdd7 100644 --- a/src/test/rustdoc-js/alias-1.js +++ b/src/test/rustdoc-js-std/alias-1.js diff --git a/src/test/rustdoc-js/alias-2.js b/src/test/rustdoc-js-std/alias-2.js index f3c6713692b..f3c6713692b 100644 --- a/src/test/rustdoc-js/alias-2.js +++ b/src/test/rustdoc-js-std/alias-2.js diff --git a/src/test/rustdoc-js/alias-3.js b/src/test/rustdoc-js-std/alias-3.js index 392b1e81837..392b1e81837 100644 --- a/src/test/rustdoc-js/alias-3.js +++ b/src/test/rustdoc-js-std/alias-3.js diff --git a/src/test/rustdoc-js/alias.js b/src/test/rustdoc-js-std/alias.js index 2b709c99119..2b709c99119 100644 --- a/src/test/rustdoc-js/alias.js +++ b/src/test/rustdoc-js-std/alias.js diff --git a/src/test/rustdoc-js-std/basic.js b/src/test/rustdoc-js-std/basic.js new file mode 100644 index 00000000000..824cac71083 --- /dev/null +++ b/src/test/rustdoc-js-std/basic.js @@ -0,0 +1,15 @@ +const QUERY = 'String'; + +const EXPECTED = { + 'others': [ + { 'path': 'std::string', 'name': 'String' }, + { 'path': 'std::ffi', 'name': 'CString' }, + { 'path': 'std::ffi', 'name': 'OsString' }, + ], + 'in_args': [ + { 'path': 'std::str', 'name': 'eq' }, + ], + 'returned': [ + { 'path': 'std::string::String', 'name': 'add' }, + ], +}; diff --git a/src/test/rustdoc-js/deduplication.js b/src/test/rustdoc-js-std/deduplication.js index f02f6cf55ed..f02f6cf55ed 100644 --- a/src/test/rustdoc-js/deduplication.js +++ b/src/test/rustdoc-js-std/deduplication.js diff --git a/src/test/rustdoc-js/enum-option.js b/src/test/rustdoc-js-std/enum-option.js index 902e0906910..902e0906910 100644 --- a/src/test/rustdoc-js/enum-option.js +++ b/src/test/rustdoc-js-std/enum-option.js diff --git a/src/test/rustdoc-js/filter-crate.js b/src/test/rustdoc-js-std/filter-crate.js index 2e0330c4497..2e0330c4497 100644 --- a/src/test/rustdoc-js/filter-crate.js +++ b/src/test/rustdoc-js-std/filter-crate.js diff --git a/src/test/rustdoc-js/fn-forget.js b/src/test/rustdoc-js-std/fn-forget.js index 66a5fcaa781..66a5fcaa781 100644 --- a/src/test/rustdoc-js/fn-forget.js +++ b/src/test/rustdoc-js-std/fn-forget.js diff --git a/src/test/rustdoc-js/from_u.js b/src/test/rustdoc-js-std/from_u.js index e3f3cd436aa..e3f3cd436aa 100644 --- a/src/test/rustdoc-js/from_u.js +++ b/src/test/rustdoc-js-std/from_u.js diff --git a/src/test/rustdoc-js/keyword.js b/src/test/rustdoc-js-std/keyword.js index 868ddd7b6dc..868ddd7b6dc 100644 --- a/src/test/rustdoc-js/keyword.js +++ b/src/test/rustdoc-js-std/keyword.js diff --git a/src/test/rustdoc-js/macro-check.js b/src/test/rustdoc-js-std/macro-check.js index 242e0cbf5f4..242e0cbf5f4 100644 --- a/src/test/rustdoc-js/macro-check.js +++ b/src/test/rustdoc-js-std/macro-check.js diff --git a/src/test/rustdoc-js/macro-print.js b/src/test/rustdoc-js-std/macro-print.js index 858046e72e9..858046e72e9 100644 --- a/src/test/rustdoc-js/macro-print.js +++ b/src/test/rustdoc-js-std/macro-print.js diff --git a/src/test/rustdoc-js/multi-query.js b/src/test/rustdoc-js-std/multi-query.js index 01e54065189..01e54065189 100644 --- a/src/test/rustdoc-js/multi-query.js +++ b/src/test/rustdoc-js-std/multi-query.js diff --git a/src/test/rustdoc-js/never.js b/src/test/rustdoc-js-std/never.js index 392b1e81837..392b1e81837 100644 --- a/src/test/rustdoc-js/never.js +++ b/src/test/rustdoc-js-std/never.js diff --git a/src/test/rustdoc-js/quoted.js b/src/test/rustdoc-js-std/quoted.js index 924129f86c8..924129f86c8 100644 --- a/src/test/rustdoc-js/quoted.js +++ b/src/test/rustdoc-js-std/quoted.js diff --git a/src/test/rustdoc-js/should-fail.js b/src/test/rustdoc-js-std/should-fail.js index b85a47dc08a..b85a47dc08a 100644 --- a/src/test/rustdoc-js/should-fail.js +++ b/src/test/rustdoc-js-std/should-fail.js diff --git a/src/test/rustdoc-js/string-from_ut.js b/src/test/rustdoc-js-std/string-from_ut.js index f9edf4408db..f9edf4408db 100644 --- a/src/test/rustdoc-js/string-from_ut.js +++ b/src/test/rustdoc-js-std/string-from_ut.js diff --git a/src/test/rustdoc-js/struct-vec.js b/src/test/rustdoc-js-std/struct-vec.js index 2c808143bae..2c808143bae 100644 --- a/src/test/rustdoc-js/struct-vec.js +++ b/src/test/rustdoc-js-std/struct-vec.js diff --git a/src/test/rustdoc-js/vec-new.js b/src/test/rustdoc-js-std/vec-new.js index e4daa5065d2..e4daa5065d2 100644 --- a/src/test/rustdoc-js/vec-new.js +++ b/src/test/rustdoc-js-std/vec-new.js diff --git a/src/test/rustdoc-js/basic.js b/src/test/rustdoc-js/basic.js index 824cac71083..d99b23468b6 100644 --- a/src/test/rustdoc-js/basic.js +++ b/src/test/rustdoc-js/basic.js @@ -1,15 +1,7 @@ -const QUERY = 'String'; +const QUERY = 'Fo'; const EXPECTED = { 'others': [ - { 'path': 'std::string', 'name': 'String' }, - { 'path': 'std::ffi', 'name': 'CString' }, - { 'path': 'std::ffi', 'name': 'OsString' }, - ], - 'in_args': [ - { 'path': 'std::str', 'name': 'eq' }, - ], - 'returned': [ - { 'path': 'std::string::String', 'name': 'add' }, + { 'path': 'basic', 'name': 'Foo' }, ], }; diff --git a/src/test/rustdoc-js-not-std/basic.rs b/src/test/rustdoc-js/basic.rs index 4a835673a59..4a835673a59 100644 --- a/src/test/rustdoc-js-not-std/basic.rs +++ b/src/test/rustdoc-js/basic.rs diff --git a/src/tools/rustdoc-js-not-std/tester.js b/src/tools/rustdoc-js-std/tester.js index 61490b2f48d..f49dd86c8c3 100644 --- a/src/tools/rustdoc-js-not-std/tester.js +++ b/src/tools/rustdoc-js-std/tester.js @@ -1,7 +1,6 @@ const fs = require('fs'); -const { spawnSync } = require('child_process'); -const TEST_FOLDER = 'src/test/rustdoc-js-not-std/'; +const TEST_FOLDER = 'src/test/rustdoc-js-std/'; function getNextStep(content, pos, stop) { while (pos < content.length && content[pos] !== stop && @@ -220,27 +219,17 @@ function lookForEntry(entry, data) { return null; } -function remove_docs(out_dir) { - spawnSync('rm', ['-rf', out_dir]); -} - -function build_docs(out_dir, rustdoc_path, file_to_document) { - remove_docs(out_dir); - var c = spawnSync(rustdoc_path, [file_to_document, '-o', out_dir]); - var s = ''; - if (c.error || c.stderr.length > 0) { - if (c.stderr.length > 0) { - s += '==> STDERR: ' + c.stderr + '\n'; - } - s += '==> ERROR: ' + c.error; +function main(argv) { + if (argv.length !== 3) { + console.error("Expected toolchain to check as argument (for example \ + 'x86_64-apple-darwin')"); + return 1; } - return s; -} + var toolchain = argv[2]; -function load_files(out_folder, crate) { - var mainJs = readFile(out_folder + "/main.js"); - var ALIASES = readFile(out_folder + "/aliases.js"); - var searchIndex = readFile(out_folder + "/search-index.js").split("\n"); + var mainJs = readFile("build/" + toolchain + "/doc/main.js"); + var ALIASES = readFile("build/" + toolchain + "/doc/aliases.js"); + var searchIndex = readFile("build/" + toolchain + "/doc/search-index.js").split("\n"); if (searchIndex[searchIndex.length - 1].length === 0) { searchIndex.pop(); } @@ -259,7 +248,7 @@ function load_files(out_folder, crate) { var functionsToLoad = ["buildHrefAndPath", "pathSplitter", "levenshtein", "validateResult", "getQuery", "buildIndex", "execQuery", "execSearch"]; - finalJS += 'window = { "currentCrate": "' + crate + '" };\n'; + finalJS += 'window = { "currentCrate": "std" };\n'; finalJS += 'var rootPath = "../";\n'; finalJS += ALIASES; finalJS += loadThings(arraysToLoad, 'array', extractArrayVariable, mainJs); @@ -267,47 +256,11 @@ function load_files(out_folder, crate) { finalJS += loadThings(functionsToLoad, 'function', extractFunction, mainJs); var loaded = loadContent(finalJS); - return [loaded, loaded.buildIndex(searchIndex.searchIndex)]; -} - -function main(argv) { - if (argv.length !== 4) { - console.error("USAGE: node tester.js [TOOLCHAIN] [STAGE]"); - return 1; - } - const toolchain = argv[2]; - const stage = argv[3]; - const rustdoc_path = './build/' + toolchain + '/stage' + stage + '/bin/rustdoc'; + var index = loaded.buildIndex(searchIndex.searchIndex); var errors = 0; fs.readdirSync(TEST_FOLDER).forEach(function(file) { - if (!file.endsWith('.js')) { - return; - } - var test_name = file.substring(0, file.length - 3); - process.stdout.write('Checking "' + test_name + '" ... '); - var rust_file = TEST_FOLDER + test_name + '.rs'; - - if (!fs.existsSync(rust_file)) { - console.error("FAILED"); - console.error("==> Missing '" + test_name + ".rs' file..."); - errors += 1; - return; - } - - var out_folder = "build/" + toolchain + "/stage" + stage + "/tests/rustdoc-js-not-std/" + - test_name; - - var ret = build_docs(out_folder, rustdoc_path, rust_file); - if (ret.length > 0) { - console.error("FAILED"); - console.error(ret); - errors += 1; - return; - } - - var [loaded, index] = load_files(out_folder, test_name); var loadedFile = loadContent(readFile(TEST_FOLDER + file) + 'exports.QUERY = QUERY;exports.EXPECTED = EXPECTED;'); const expected = loadedFile.EXPECTED; @@ -317,6 +270,7 @@ function main(argv) { const exact_check = loadedFile.exact_check; const should_fail = loadedFile.should_fail; var results = loaded.execSearch(loaded.getQuery(query), index); + process.stdout.write('Checking "' + file + '" ... '); var error_text = []; for (var key in expected) { if (!expected.hasOwnProperty(key)) { @@ -354,8 +308,6 @@ function main(argv) { console.error("FAILED"); console.error(error_text.join("\n")); } else { - // In this case, we remove the docs, no need to keep them around. - remove_docs(out_folder); console.log("OK"); } }); diff --git a/src/tools/rustdoc-js/tester.js b/src/tools/rustdoc-js/tester.js index 38fdcb4f468..f7c15eaf1b0 100644 --- a/src/tools/rustdoc-js/tester.js +++ b/src/tools/rustdoc-js/tester.js @@ -1,4 +1,5 @@ const fs = require('fs'); +const { spawnSync } = require('child_process'); const TEST_FOLDER = 'src/test/rustdoc-js/'; @@ -219,17 +220,22 @@ function lookForEntry(entry, data) { return null; } -function main(argv) { - if (argv.length !== 3) { - console.error("Expected toolchain to check as argument (for example \ - 'x86_64-apple-darwin')"); - return 1; +function build_docs(out_dir, rustdoc_path, file_to_document) { + var c = spawnSync(rustdoc_path, [file_to_document, '-o', out_dir]); + var s = ''; + if (c.error || c.stderr.length > 0) { + if (c.stderr.length > 0) { + s += '==> STDERR: ' + c.stderr + '\n'; + } + s += '==> ERROR: ' + c.error; } - var toolchain = argv[2]; + return s; +} - var mainJs = readFile("build/" + toolchain + "/doc/main.js"); - var ALIASES = readFile("build/" + toolchain + "/doc/aliases.js"); - var searchIndex = readFile("build/" + toolchain + "/doc/search-index.js").split("\n"); +function load_files(out_folder, crate) { + var mainJs = readFile(out_folder + "/main.js"); + var ALIASES = readFile(out_folder + "/aliases.js"); + var searchIndex = readFile(out_folder + "/search-index.js").split("\n"); if (searchIndex[searchIndex.length - 1].length === 0) { searchIndex.pop(); } @@ -248,7 +254,7 @@ function main(argv) { var functionsToLoad = ["buildHrefAndPath", "pathSplitter", "levenshtein", "validateResult", "getQuery", "buildIndex", "execQuery", "execSearch"]; - finalJS += 'window = { "currentCrate": "std" };\n'; + finalJS += 'window = { "currentCrate": "' + crate + '" };\n'; finalJS += 'var rootPath = "../";\n'; finalJS += ALIASES; finalJS += loadThings(arraysToLoad, 'array', extractArrayVariable, mainJs); @@ -256,11 +262,47 @@ function main(argv) { finalJS += loadThings(functionsToLoad, 'function', extractFunction, mainJs); var loaded = loadContent(finalJS); - var index = loaded.buildIndex(searchIndex.searchIndex); + return [loaded, loaded.buildIndex(searchIndex.searchIndex)]; +} + +function main(argv) { + if (argv.length !== 4) { + console.error("USAGE: node tester.js [TOOLCHAIN] [STAGE]"); + return 1; + } + const toolchain = argv[2]; + const stage = argv[3]; + const rustdoc_path = './build/' + toolchain + '/stage' + stage + '/bin/rustdoc'; var errors = 0; fs.readdirSync(TEST_FOLDER).forEach(function(file) { + if (!file.endsWith('.js')) { + return; + } + var test_name = file.substring(0, file.length - 3); + process.stdout.write('Checking "' + test_name + '" ... '); + var rust_file = TEST_FOLDER + test_name + '.rs'; + + if (!fs.existsSync(rust_file)) { + console.error("FAILED"); + console.error("==> Missing '" + test_name + ".rs' file..."); + errors += 1; + return; + } + + var out_folder = "build/" + toolchain + "/stage" + stage + "/tests/rustdoc-js/" + + test_name; + + var ret = build_docs(out_folder, rustdoc_path, rust_file); + if (ret.length > 0) { + console.error("FAILED"); + console.error(ret); + errors += 1; + return; + } + + var [loaded, index] = load_files(out_folder, test_name); var loadedFile = loadContent(readFile(TEST_FOLDER + file) + 'exports.QUERY = QUERY;exports.EXPECTED = EXPECTED;'); const expected = loadedFile.EXPECTED; @@ -270,7 +312,6 @@ function main(argv) { const exact_check = loadedFile.exact_check; const should_fail = loadedFile.should_fail; var results = loaded.execSearch(loaded.getQuery(query), index); - process.stdout.write('Checking "' + file + '" ... '); var error_text = []; for (var key in expected) { if (!expected.hasOwnProperty(key)) { |
