about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--boot/tests/test.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/boot/tests/test.c b/boot/tests/test.c
index b8a535d..b8db80c 100644
--- a/boot/tests/test.c
+++ b/boot/tests/test.c
@@ -63,8 +63,9 @@ enum Test_Target
     TARGET_NONE = 0,
     TARGET_LEX = 1 << 0,
     TARGET_PARSE = 1 << 1,
+    TARGET_TRANSPILE = 1 << 2,
 
-    TARGET_ALL = TARGET_LEX | TARGET_PARSE,
+    TARGET_ALL = TARGET_LEX | TARGET_PARSE | TARGET_TRANSPILE,
 };
 
 struct Known_Target
@@ -74,6 +75,7 @@ struct Known_Target
 } known_targets[] = {
     { "lex", TARGET_LEX },
     { "parse", TARGET_PARSE },
+    { "transpile", TARGET_TRANSPILE },
 
     { "all", TARGET_ALL },
 };
@@ -529,6 +531,15 @@ parse_tests(bool adjust)
     return tests(base_path, base_command, adjust);
 }
 
+struct Result_Summary
+transpile_tests(bool adjust)
+{
+    const ascii* base_path = "./boot/tests/transpile/";
+    const ascii* base_command = "./build/catboot";
+
+    return tests(base_path, base_command, adjust);
+}
+
 int
 main(int argc, const ascii** argv)
 {
@@ -571,6 +582,10 @@ main(int argc, const ascii** argv)
             summary = parse_tests(adjust);
             break;
 
+        case TARGET_TRANSPILE:
+            summary = transpile_tests(adjust);
+            break;
+
         default:
             failure("unknown test target");
         }