mirror of
https://github.com/godotengine/godot-angle-static.git
synced 2026-01-03 14:09:33 +03:00
Fix --render-test-output-dir to work in TestSuite.
https://crrev.com/c/3956937 introduced the issue where this flag is consumed by ANGLEPerfTestArgs.cpp logic which runs before the TestSuite constructor and removes the flag so we end up with an empty mTestArtifactDirectory in TestSuite. Bug: angleproject:7755 Change-Id: Ic32d3a2ddceca7842a0aebe5a1e40cbedaedf2eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4097325 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
This commit is contained in:
committed by
Angle LUCI CQ
parent
001ba94e3d
commit
2ce2146b13
@@ -97,8 +97,8 @@ bool TraceTestArg(int *argc, char **argv, int argIndex)
|
||||
ParseFlag("--trace-interpreter", argc, argv, argIndex, &gTraceInterpreter) ||
|
||||
ParseFlag("--interpreter", argc, argv, argIndex, &gTraceInterpreter) ||
|
||||
ParseIntArg("--screenshot-frame", argc, argv, argIndex, &gScreenshotFrame) ||
|
||||
ParseCStringArg("--render-test-output-dir", argc, argv, argIndex,
|
||||
&gRenderTestOutputDir) ||
|
||||
ParseCStringArgWithHandling("--render-test-output-dir", argc, argv, argIndex,
|
||||
&gRenderTestOutputDir, ArgHandling::Preserve) ||
|
||||
ParseCStringArg("--screenshot-dir", argc, argv, argIndex, &gScreenshotDir) ||
|
||||
ParseCStringArg("--use-angle", argc, argv, argIndex, &gUseANGLE) ||
|
||||
ParseCStringArg("--use-gl", argc, argv, argIndex, &gUseGL) ||
|
||||
|
||||
@@ -176,6 +176,7 @@ bool ParseIntArgWithHandling(const char *flag,
|
||||
}
|
||||
|
||||
*valueOut = static_cast<int>(longValue);
|
||||
// Note: return value is always false with ArgHandling::Preserve handling
|
||||
return handling == ArgHandling::Delete;
|
||||
}
|
||||
|
||||
@@ -207,16 +208,27 @@ bool ParseStringArg(const char *flag, int *argc, char **argv, int argIndex, std:
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ParseCStringArg(const char *flag, int *argc, char **argv, int argIndex, const char **valueOut)
|
||||
bool ParseCStringArgWithHandling(const char *flag,
|
||||
int *argc,
|
||||
char **argv,
|
||||
int argIndex,
|
||||
const char **valueOut,
|
||||
ArgHandling handling)
|
||||
{
|
||||
const char *value = GetSingleArg(flag, argc, argv, argIndex, ArgHandling::Delete);
|
||||
const char *value = GetSingleArg(flag, argc, argv, argIndex, handling);
|
||||
if (!value)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
*valueOut = value;
|
||||
return true;
|
||||
// Note: return value is always false with ArgHandling::Preserve handling
|
||||
return handling == ArgHandling::Delete;
|
||||
}
|
||||
|
||||
bool ParseCStringArg(const char *flag, int *argc, char **argv, int argIndex, const char **valueOut)
|
||||
{
|
||||
return ParseCStringArgWithHandling(flag, argc, argv, argIndex, valueOut, ArgHandling::Delete);
|
||||
}
|
||||
|
||||
void AddArg(int *argc, char **argv, const char *arg)
|
||||
|
||||
@@ -133,16 +133,25 @@ enum ArgHandling
|
||||
Preserve,
|
||||
};
|
||||
|
||||
bool ParseIntArg(const char *flag, int *argc, char **argv, int argIndex, int *valueOut);
|
||||
bool ParseFlag(const char *flag, int *argc, char **argv, int argIndex, bool *flagOut);
|
||||
bool ParseStringArg(const char *flag, int *argc, char **argv, int argIndex, std::string *valueOut);
|
||||
bool ParseCStringArg(const char *flag, int *argc, char **argv, int argIndex, const char **valueOut);
|
||||
|
||||
// Note: return value is always false with ArgHandling::Preserve handling
|
||||
bool ParseIntArgWithHandling(const char *flag,
|
||||
int *argc,
|
||||
char **argv,
|
||||
int argIndex,
|
||||
int *valueOut,
|
||||
ArgHandling handling);
|
||||
bool ParseIntArg(const char *flag, int *argc, char **argv, int argIndex, int *valueOut);
|
||||
bool ParseFlag(const char *flag, int *argc, char **argv, int argIndex, bool *flagOut);
|
||||
bool ParseStringArg(const char *flag, int *argc, char **argv, int argIndex, std::string *valueOut);
|
||||
bool ParseCStringArg(const char *flag, int *argc, char **argv, int argIndex, const char **valueOut);
|
||||
bool ParseCStringArgWithHandling(const char *flag,
|
||||
int *argc,
|
||||
char **argv,
|
||||
int argIndex,
|
||||
const char **valueOut,
|
||||
ArgHandling handling);
|
||||
|
||||
void AddArg(int *argc, char **argv, const char *arg);
|
||||
|
||||
uint32_t GetPlatformANGLETypeFromArg(const char *useANGLEArg, uint32_t defaultPlatformType);
|
||||
|
||||
Reference in New Issue
Block a user