Automated rollback of commit e0af1577de

PiperOrigin-RevId: 219228096
This commit is contained in:
Justin Lebar 2018-10-29 18:16:22 -07:00 committed by TensorFlower Gardener
parent 84471565eb
commit 9285b4b21c
2 changed files with 14 additions and 26 deletions
tensorflow/compiler/xla/legacy_flags

View File

@ -174,16 +174,6 @@ bool ParseFlagsFromEnv(const std::vector<tensorflow::Flag>& flag_list) {
SetArgvFromEnv(env_argv); // a no-op if already initialized
bool result =
tensorflow::Flags::Parse(&env_argv->argc, &env_argv->argv[0], flag_list);
// Fail if any flags were not recognized, ignoring argv[0], which
// SetArgvFromEnv ensures is always present.
if (result && env_argv->argc > 1) {
result = false;
for (int64 i = 1; i < env_argv->argc; ++i) {
LOG(ERROR) << "Unrecognized TF_XLA_FLAGS flag: " << env_argv->argv[i];
}
}
env_argv_mu.unlock();
return result;
}

View File

@ -40,6 +40,19 @@ static void TestParseFlagsFromEnv(const char* msg) {
std::vector<char*>* pargv;
ResetFlagsFromEnvForTesting(&pargc, &pargv);
// Ensure that environment variable can be parsed when
// no flags are expected.
std::vector<tensorflow::Flag> empty_flag_list;
bool parsed_ok = ParseFlagsFromEnv(empty_flag_list);
CHECK(parsed_ok) << msg;
const std::vector<char*>& argv_first = *pargv;
CHECK_NE(argv_first[0], nullptr) << msg;
int i = 0;
while (argv_first[i] != nullptr) {
i++;
}
CHECK_EQ(i, *pargc) << msg;
// Check that actual flags can be parsed.
bool simple = false;
string with_value;
@ -53,7 +66,7 @@ static void TestParseFlagsFromEnv(const char* msg) {
tensorflow::Flag("single_quoted", &single_quoted, ""),
tensorflow::Flag("double_quoted", &double_quoted, ""),
};
bool parsed_ok = ParseFlagsFromEnv(flag_list);
parsed_ok = ParseFlagsFromEnv(flag_list);
CHECK_EQ(*pargc, 1) << msg;
const std::vector<char*>& argv_second = *pargv;
CHECK_NE(argv_second[0], nullptr) << msg;
@ -81,21 +94,6 @@ TEST(ParseFlagsFromEnv, Basic) {
TestParseFlagsFromEnv("(flags in environment variable)");
}
// Test that the environent variable is parsed correctly.
TEST(ParseFlagsFromEnv, UnrecognizedFlag) {
// Prepare environment.
setenv("TF_XLA_FLAGS", "--simple=xyz --foobar", true /*overwrite*/);
int* pargc;
std::vector<char*>* pargv;
ResetFlagsFromEnvForTesting(&pargc, &pargv);
string simple;
std::vector<tensorflow::Flag> flag_list = {
tensorflow::Flag("simple", &simple, ""),
};
EXPECT_FALSE(ParseFlagsFromEnv(flag_list));
}
// Test that a file named by the environent variable is parsed correctly.
TEST(ParseFlagsFromEnv, File) {
// environment variables where tmp dir may be specified.