about summary refs log tree commit diff
path: root/src/tools/rustdoc-gui/tester.js
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2021-06-14 16:40:10 +0200
committerGuillaume Gomez <guillaume1.gomez@gmail.com>2021-06-14 16:40:10 +0200
commit6a66b79fb6b85f01aeaa1cd339160957a98c97a6 (patch)
tree4906ecfd957718fbb6a87c19b4fff59660290f04 /src/tools/rustdoc-gui/tester.js
parent7510b0ca45d1204f8f0e9dc1bb2dc7d95b279c9a (diff)
downloadrust-6a66b79fb6b85f01aeaa1cd339160957a98c97a6.tar.gz
rust-6a66b79fb6b85f01aeaa1cd339160957a98c97a6.zip
Allow to run only a few GUI tests
Diffstat (limited to 'src/tools/rustdoc-gui/tester.js')
-rw-r--r--src/tools/rustdoc-gui/tester.js18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/tools/rustdoc-gui/tester.js b/src/tools/rustdoc-gui/tester.js
index c55e014e834..8c8d86d5e38 100644
--- a/src/tools/rustdoc-gui/tester.js
+++ b/src/tools/rustdoc-gui/tester.js
@@ -10,6 +10,7 @@ const {Options, runTest} = require('browser-ui-test');
 function showHelp() {
     console.log("rustdoc-js options:");
     console.log("  --doc-folder [PATH]        : location of the generated doc folder");
+    console.log("  --file [PATH]              : file to run (can be repeated)");
     console.log("  --help                     : show this message then quit");
     console.log("  --tests-folder [PATH]      : location of the .GOML tests folder");
 }
@@ -18,6 +19,7 @@ function parseOptions(args) {
     var opts = {
         "doc_folder": "",
         "tests_folder": "",
+        "files": [],
     };
     var correspondances = {
         "--doc-folder": "doc_folder",
@@ -26,13 +28,18 @@ function parseOptions(args) {
 
     for (var i = 0; i < args.length; ++i) {
         if (args[i] === "--doc-folder"
-            || args[i] === "--tests-folder") {
+            || args[i] === "--tests-folder"
+            || args[i] === "--file") {
             i += 1;
             if (i >= args.length) {
                 console.log("Missing argument after `" + args[i - 1] + "` option.");
                 return null;
             }
-            opts[correspondances[args[i - 1]]] = args[i];
+            if (args[i - 1] !== "--file") {
+                opts[correspondances[args[i - 1]]] = args[i];
+            } else {
+                opts["files"].push(args[i]);
+            }
         } else if (args[i] === "--help") {
             showHelp();
             process.exit(0);
@@ -78,7 +85,12 @@ async function main(argv) {
     }
 
     let failed = false;
-    let files = fs.readdirSync(opts["tests_folder"]).filter(file => path.extname(file) == ".goml");
+    let files;
+    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");
+    }
 
     files.sort();
     for (var i = 0; i < files.length; ++i) {