Commit d3aa1e9c by Jamie Madill Committed by Commit Bot

Test Runner: Pass dEQP args to child processes.

This fixes the sharding to use the specified back-end. With the bug ANGLE would start the platform default back-end instead. Bug: angleproject:3162 Change-Id: Ib2453dd3c58ea40fb36619301865ae0818038d15 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2447043 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarCourtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
parent f0d9471c
...@@ -627,15 +627,6 @@ void HandleCaseName(const char *caseString, int *argc, int argIndex, char **argv ...@@ -627,15 +627,6 @@ void HandleCaseName(const char *caseString, int *argc, int argIndex, char **argv
argv[argIndex] = gCaseStringBuffer.data(); argv[argIndex] = gCaseStringBuffer.data();
} }
void DeleteArg(int *argc, int argIndex, char **argv)
{
(*argc)--;
for (int moveIndex = argIndex; moveIndex < *argc; ++moveIndex)
{
argv[moveIndex] = argv[moveIndex + 1];
}
}
} // anonymous namespace } // anonymous namespace
// Called from main() to process command-line arguments. // Called from main() to process command-line arguments.
...@@ -647,28 +638,21 @@ void InitTestHarness(int *argc, char **argv) ...@@ -647,28 +638,21 @@ void InitTestHarness(int *argc, char **argv)
if (strncmp(argv[argIndex], kdEQPEGLString, strlen(kdEQPEGLString)) == 0) if (strncmp(argv[argIndex], kdEQPEGLString, strlen(kdEQPEGLString)) == 0)
{ {
HandleDisplayType(argv[argIndex] + strlen(kdEQPEGLString)); HandleDisplayType(argv[argIndex] + strlen(kdEQPEGLString));
DeleteArg(argc, argIndex, argv);
} }
else if (strncmp(argv[argIndex], kANGLEEGLString, strlen(kANGLEEGLString)) == 0) else if (strncmp(argv[argIndex], kANGLEEGLString, strlen(kANGLEEGLString)) == 0)
{ {
HandleDisplayType(argv[argIndex] + strlen(kANGLEEGLString)); HandleDisplayType(argv[argIndex] + strlen(kANGLEEGLString));
DeleteArg(argc, argIndex, argv);
} }
else if (strncmp(argv[argIndex], gdEQPEGLConfigNameString, else if (strncmp(argv[argIndex], gdEQPEGLConfigNameString,
strlen(gdEQPEGLConfigNameString)) == 0) strlen(gdEQPEGLConfigNameString)) == 0)
{ {
HandleEGLConfigName(argv[argIndex] + strlen(gdEQPEGLConfigNameString)); HandleEGLConfigName(argv[argIndex] + strlen(gdEQPEGLConfigNameString));
DeleteArg(argc, argIndex, argv);
} }
else if (strncmp(argv[argIndex], kdEQPCaseString, strlen(kdEQPCaseString)) == 0) else if (strncmp(argv[argIndex], kdEQPCaseString, strlen(kdEQPCaseString)) == 0)
{ {
HandleCaseName(argv[argIndex] + strlen(kdEQPCaseString), argc, argIndex, argv); HandleCaseName(argv[argIndex] + strlen(kdEQPCaseString), argc, argIndex, argv);
argIndex++;
}
else
{
argIndex++;
} }
argIndex++;
} }
} }
} // namespace angle } // namespace angle
...@@ -812,7 +812,7 @@ TestSuite::TestSuite(int *argc, char **argv) ...@@ -812,7 +812,7 @@ TestSuite::TestSuite(int *argc, char **argv)
alsoRunDisabledTests = true; alsoRunDisabledTests = true;
} }
mGoogleTestCommandLineArgs.push_back(argv[argIndex]); mChildProcessArgs.push_back(argv[argIndex]);
} }
++argIndex; ++argIndex;
} }
...@@ -1058,7 +1058,7 @@ bool TestSuite::launchChildTestProcess(const std::vector<TestIdentifier> &testsI ...@@ -1058,7 +1058,7 @@ bool TestSuite::launchChildTestProcess(const std::vector<TestIdentifier> &testsI
// TODO(jmadill): Remove this once migrated. http://anglebug.com/3162 // TODO(jmadill): Remove this once migrated. http://anglebug.com/3162
args.push_back("--reuse-displays"); args.push_back("--reuse-displays");
for (const std::string &arg : mGoogleTestCommandLineArgs) for (const std::string &arg : mChildProcessArgs)
{ {
args.push_back(arg.c_str()); args.push_back(arg.c_str());
} }
......
...@@ -148,7 +148,7 @@ class TestSuite ...@@ -148,7 +148,7 @@ class TestSuite
int mMaxProcesses; int mMaxProcesses;
int mTestTimeout; int mTestTimeout;
int mBatchTimeout; int mBatchTimeout;
std::vector<std::string> mGoogleTestCommandLineArgs; std::vector<std::string> mChildProcessArgs;
std::map<TestIdentifier, FileLine> mTestFileLines; std::map<TestIdentifier, FileLine> mTestFileLines;
std::vector<ProcessInfo> mCurrentProcesses; std::vector<ProcessInfo> mCurrentProcesses;
std::thread mWatchdogThread; std::thread mWatchdogThread;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment