Fix typo and order-dependent test results in RcOptionsTest.
RcOptionsTest.CommentedStartup test used the wrong filename, but passed
accidentally when (as happened by default) it was run after
RcOptionsTest.Whitespace test - which created the file.
To prevent this class of error from recurring, we want to use separate
test file directories for each test in the suite.
PiperOrigin-RevId: 287194356
diff --git a/src/test/cpp/rc_options_test.cc b/src/test/cpp/rc_options_test.cc
index 418639e..354ed87 100644
--- a/src/test/cpp/rc_options_test.cc
+++ b/src/test/cpp/rc_options_test.cc
@@ -34,15 +34,21 @@
class RcOptionsTest : public ::testing::Test {
protected:
RcOptionsTest()
- : test_file_dir_(blaze::GetPathEnv("TEST_TMPDIR")), workspace_layout_() {}
+ : test_file_dir_(blaze_util::JoinPath(
+ blaze::GetPathEnv("TEST_TMPDIR"),
+ ::testing::UnitTest::GetInstance()->current_test_info()->name())),
+ workspace_layout_() {
+ }
const string test_file_dir_;
const WorkspaceLayout workspace_layout_;
void WriteRc(const string& filename, const string& contents) {
- bool success = blaze_util::WriteFile(
+ bool success_mkdir = blaze_util::MakeDirectories(test_file_dir_, 0755);
+ ASSERT_TRUE(success_mkdir) << "Failed to mkdir -p " << test_file_dir_;
+ bool success_write = blaze_util::WriteFile(
contents, blaze_util::JoinPath(test_file_dir_, filename));
- ASSERT_TRUE(success) << "Failed to write " << filename;
+ ASSERT_TRUE(success_write) << "Failed to write " << filename;
}
std::unique_ptr<RcFile> Parse(const string& filename,
@@ -105,7 +111,8 @@
WriteRc("commented_startup.bazelrc",
"# startup foo");
unordered_map<string, vector<string>> no_expected_args;
- SuccessfullyParseRcWithExpectedArgs("whitespace.bazelrc", no_expected_args);
+ SuccessfullyParseRcWithExpectedArgs("commented_startup.bazelrc",
+ no_expected_args);
}
TEST_F(RcOptionsTest, EmptyStartupLine) {