Index: tools/gardening_tools/multitest/bin/multitest.dart |
diff --git a/tools/gardening_tools/multitest/bin/multitest.dart b/tools/gardening_tools/multitest/bin/multitest.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7a79ae8e7b34772a0d1d33e81757de31845b4409 |
--- /dev/null |
+++ b/tools/gardening_tools/multitest/bin/multitest.dart |
@@ -0,0 +1,40 @@ |
+import 'package:multitest/multitest.dart'; |
+import 'package:base_lib/base_lib.dart'; |
+ |
+void printHelp() { |
+ print("This tool can print out individual cases from a multitest test file."); |
+ print("example: multitest.dart <test_file> <case>"); |
+} |
+ |
+main(List<String> args) { |
+ if (args.length == 0 || args.indexOf("--help") > -1) { |
+ printHelp(); |
+ return; |
+ } |
+ |
+ if (args.length != 2) { |
+ print( |
+ "Incorrect number of arguments. use --help to see available commands."); |
+ return; |
+ } |
+ |
+ StdOutLogger logger = new StdOutLogger(); |
+ |
+ Try<ExtractMultitestResult> result = new Try<String>.from(args[0]) |
+ .bind((path) => ExtractTestsFromMultitest(path, logger)); |
+ |
+ if (result.isError()) { |
+ print(result.getError()); |
+ return; |
+ } |
+ |
+ if (!result.get().tests.containsKey(args[1])) { |
+ print( |
+ "Could not find the case ${args[0]}. The available cases are: ${result.get().tests.keys.join(', ')}"); |
+ return; |
+ } |
+ ; |
+ |
+ print(result.get().tests[args[1]]); |
+ return; |
+} |