aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/cpp/bazel_startup_options_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/cpp/bazel_startup_options_test.cc')
-rw-r--r--src/test/cpp/bazel_startup_options_test.cc65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/test/cpp/bazel_startup_options_test.cc b/src/test/cpp/bazel_startup_options_test.cc
index 2ac4c7f61b..686f43178d 100644
--- a/src/test/cpp/bazel_startup_options_test.cc
+++ b/src/test/cpp/bazel_startup_options_test.cc
@@ -86,6 +86,7 @@ TEST_F(BazelStartupOptionsTest, ValidStartupFlags) {
ExpectIsNullaryOption(options, "experimental_oom_more_eagerly");
ExpectIsNullaryOption(options, "fatal_event_bus_exceptions");
ExpectIsNullaryOption(options, "host_jvm_debug");
+ ExpectIsNullaryOption(options, "ignore_all_rc_files");
ExpectIsNullaryOption(options, "master_bazelrc");
ExpectIsNullaryOption(options, "watchfs");
ExpectIsNullaryOption(options, "write_command_log");
@@ -111,4 +112,68 @@ TEST_F(BazelStartupOptionsTest, BlazercFlagsAreNotAccepted) {
EXPECT_FALSE(startup_options_->IsUnary("--blazerc"));
}
+TEST_F(BazelStartupOptionsTest, IgnoredBazelrcFlagWarns) {
+ ParseStartupOptionsAndExpectWarning(
+ startup_options_.get(), {"--bazelrc=somefile", "--ignore_all_rc_files"},
+ "WARNING: Value of --bazelrc is ignored, since --ignore_all_rc_files is "
+ "on.\n");
+}
+
+TEST_F(BazelStartupOptionsTest, IgnoredBazelrcFlagWarnsWhenAfterIgnore) {
+ ParseStartupOptionsAndExpectWarning(
+ startup_options_.get(), {"--ignore_all_rc_files", "--bazelrc=somefile"},
+ "WARNING: Value of --bazelrc is ignored, since --ignore_all_rc_files is "
+ "on.\n");
+}
+
+TEST_F(BazelStartupOptionsTest, IgnoredMasterBazelrcFlagWarns) {
+ ParseStartupOptionsAndExpectWarning(
+ startup_options_.get(), {"--master_bazelrc", "--ignore_all_rc_files"},
+ "WARNING: Explicit value of --master_bazelrc is ignored, "
+ "since --ignore_all_rc_files is on.\n");
+}
+
+TEST_F(BazelStartupOptionsTest, IgnoredMasterBazelrcFlagWarnsAfterIgnore) {
+ ParseStartupOptionsAndExpectWarning(
+ startup_options_.get(), {"--ignore_all_rc_files", "--master_bazelrc"},
+ "WARNING: Explicit value of --master_bazelrc is ignored, "
+ "since --ignore_all_rc_files is on.\n");
+}
+
+TEST_F(BazelStartupOptionsTest, MultipleIgnoredRcFlagsWarnOnceEach) {
+ ParseStartupOptionsAndExpectWarning(
+ startup_options_.get(),
+ {"--master_bazelrc", "--bazelrc=somefile", "--ignore_all_rc_files",
+ "--bazelrc=thefinalfile", "--master_bazelrc"},
+ "WARNING: Value of --bazelrc is ignored, "
+ "since --ignore_all_rc_files is on.\n"
+ "WARNING: Explicit value of --master_bazelrc is ignored, "
+ "since --ignore_all_rc_files is on.\n");
+}
+
+TEST_F(BazelStartupOptionsTest, IgnoredNoMasterBazelrcDoesNotWarn) {
+ // Warning for nomaster would feel pretty spammy - it's redundant, but the
+ // behavior is as one would expect, so warning is unnecessary.
+ ParseStartupOptionsAndExpectWarning(
+ startup_options_.get(), {"--ignore_all_rc_files", "--nomaster_bazelrc"},
+ "");
+}
+
+TEST_F(BazelStartupOptionsTest, IgnoreOptionDoesNotWarnOnItsOwn) {
+ ParseStartupOptionsAndExpectWarning(startup_options_.get(),
+ {"--ignore_all_rc_files"}, "");
+}
+
+TEST_F(BazelStartupOptionsTest, NonIgnoredOptionDoesNotWarn) {
+ ParseStartupOptionsAndExpectWarning(startup_options_.get(),
+ {"--bazelrc=somefile"}, "");
+}
+
+TEST_F(BazelStartupOptionsTest, FinalValueOfIgnoreIsUsedForWarning) {
+ ParseStartupOptionsAndExpectWarning(
+ startup_options_.get(),
+ {"--ignore_all_rc_files", "--master_bazelrc", "--noignore_all_rc_files"},
+ "");
+}
+
} // namespace blaze