about summary refs log tree commit diff
path: root/boot/tests/test.c
diff options
context:
space:
mode:
authorMel <mel@rnrd.eu>2026-05-06 18:49:26 +0200
committerMel <mel@rnrd.eu>2026-05-06 18:49:26 +0200
commit952250b6d79063aa1066b0e945d58360bd70d09f (patch)
tree8eff74504b558d5a83485cebd4d8c5808e0064a9 /boot/tests/test.c
parentac696b22b3f03ae9670a9d1d154ce7ff848b5e55 (diff)
downloadcatskill-952250b6d79063aa1066b0e945d58360bd70d09f.tar.zst
catskill-952250b6d79063aa1066b0e945d58360bd70d09f.zip
Lowering pass test harness, and initial pass test suite
Signed-off-by: Mel <mel@rnrd.eu>
Diffstat (limited to 'boot/tests/test.c')
-rw-r--r--boot/tests/test.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/boot/tests/test.c b/boot/tests/test.c
index 841df09..051dbc4 100644
--- a/boot/tests/test.c
+++ b/boot/tests/test.c
@@ -63,9 +63,10 @@ enum Test_Target
     TARGET_NONE = 0,
     TARGET_LEX = 1 << 0,
     TARGET_PARSE = 1 << 1,
-    TARGET_TRANSPILE = 1 << 2,
+    TARGET_LOWER = 1 << 2,
+    TARGET_TRANSPILE = 1 << 3,
 
-    TARGET_ALL = TARGET_LEX | TARGET_PARSE | TARGET_TRANSPILE,
+    TARGET_ALL = TARGET_LEX | TARGET_PARSE | TARGET_LOWER | TARGET_TRANSPILE,
 };
 
 struct Known_Target
@@ -73,9 +74,8 @@ struct Known_Target
     const ascii* name;
     enum Test_Target target;
 } known_targets[] = {
-    { "lex", TARGET_LEX },
-    { "parse", TARGET_PARSE },
-    { "transpile", TARGET_TRANSPILE },
+    { "lex", TARGET_LEX },     { "parse", TARGET_PARSE },
+    { "lower", TARGET_LOWER }, { "transpile", TARGET_TRANSPILE },
 
     { "all", TARGET_ALL },
 };
@@ -532,6 +532,15 @@ parse_tests(bool adjust)
 }
 
 struct Result_Summary
+lower_tests(bool adjust)
+{
+    const ascii* base_path = "./boot/tests/lower/";
+    const ascii* base_command = "./build/catboot --test-lower";
+
+    return tests(base_path, base_command, adjust);
+}
+
+struct Result_Summary
 transpile_tests(bool adjust)
 {
     const ascii* base_path = "./boot/tests/transpile/";
@@ -582,6 +591,10 @@ main(int argc, const ascii** argv)
             summary = parse_tests(adjust);
             break;
 
+        case TARGET_LOWER:
+            summary = lower_tests(adjust);
+            break;
+
         case TARGET_TRANSPILE:
             summary = transpile_tests(adjust);
             break;