Let -test-all-packages work with -build-mode:test

Fixes #3930
This commit is contained in:
Feoramund
2025-06-02 07:47:19 -04:00
parent cd1f66e85c
commit 16b8da6a79

View File

@@ -596,7 +596,7 @@ gb_internal bool parse_build_flags(Array<String> args) {
add_flag(&build_flags, BuildFlag_ObfuscateSourceCodeLocations, str_lit("obfuscate-source-code-locations"), BuildFlagParam_None, Command__does_build);
add_flag(&build_flags, BuildFlag_Short, str_lit("short"), BuildFlagParam_None, Command_doc);
add_flag(&build_flags, BuildFlag_AllPackages, str_lit("all-packages"), BuildFlagParam_None, Command_doc | Command_test);
add_flag(&build_flags, BuildFlag_AllPackages, str_lit("all-packages"), BuildFlagParam_None, Command_doc | Command_test | Command_build);
add_flag(&build_flags, BuildFlag_DocFormat, str_lit("doc-format"), BuildFlagParam_None, Command_doc);
add_flag(&build_flags, BuildFlag_IgnoreWarnings, str_lit("ignore-warnings"), BuildFlagParam_None, Command_all);
@@ -1733,6 +1733,12 @@ gb_internal bool parse_build_flags(Array<String> args) {
bad_flags = true;
}
if ((build_context.command_kind & (Command_doc | Command_test)) == 0 && build_context.test_all_packages) {
gb_printf_err("`-test-all-packages` can only be used with `odin build -build-mode:test`, `odin test`, or `odin doc`.\n");
bad_flags = true;
}
return !bad_flags;
}