Commit 9580f3b4 by Jamie Madill Committed by Commit Bot

Test Runner: Accept GTEST shard environment vars.

This makes interoperation with Chromium tests easier. For instance when triggering tests with scripts when using sharding. And also using the run/ wrapper scripts instead of run_gtest_angle_test. Bug: angleproject:5158 Change-Id: Ia5b1f94c02a081caf576615175791fff4e0d3fb3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2464030Reviewed-by: 's avatarCourtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent 5dd82cac
...@@ -851,6 +851,29 @@ TestSuite::TestSuite(int *argc, char **argv) ...@@ -851,6 +851,29 @@ TestSuite::TestSuite(int *argc, char **argv)
++argIndex; ++argIndex;
} }
std::string envShardIndex = angle::GetEnvironmentVar("GTEST_SHARD_INDEX");
std::string envTotalShards = angle::GetEnvironmentVar("GTEST_TOTAL_SHARDS");
if (!envShardIndex.empty() || !envTotalShards.empty())
{
angle::UnsetEnvironmentVar("GTEST_SHARD_INDEX");
angle::UnsetEnvironmentVar("GTEST_TOTAL_SHARDS");
if (mShardIndex != -1 || mShardCount != -1)
{
printf(
"Error: --shard-index and --shard-count are incompatible with GTEST_SHARD_INDEX "
"and GTEST_TOTAL_SHARDS.\n");
exit(EXIT_FAILURE);
}
std::stringstream shardIndexStream(envShardIndex);
shardIndexStream >> mShardIndex;
std::stringstream shardCountStream(envTotalShards);
shardCountStream >> mShardCount;
}
if ((mShardIndex == -1) != (mShardCount == -1)) if ((mShardIndex == -1) != (mShardCount == -1))
{ {
printf("Shard index and shard count must be specified together.\n"); printf("Shard index and shard count must be specified together.\n");
...@@ -913,15 +936,6 @@ TestSuite::TestSuite(int *argc, char **argv) ...@@ -913,15 +936,6 @@ TestSuite::TestSuite(int *argc, char **argv)
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
if (!angle::GetEnvironmentVar("GTEST_SHARD_INDEX").empty() ||
!angle::GetEnvironmentVar("GTEST_TOTAL_SHARDS").empty())
{
printf(
"Error: --shard-index and --shard-count are incompatible with GTEST_SHARD_INDEX "
"and GTEST_TOTAL_SHARDS.\n");
exit(EXIT_FAILURE);
}
testSet = testSet =
GetShardTests(testSet, mShardIndex, mShardCount, &mTestFileLines, alsoRunDisabledTests); GetShardTests(testSet, mShardIndex, mShardCount, &mTestFileLines, alsoRunDisabledTests);
......
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