aboutsummaryrefslogtreecommitdiff
path: root/boot/tests
diff options
context:
space:
mode:
Diffstat (limited to 'boot/tests')
-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");
}