aboutsummaryrefslogtreecommitdiff
path: root/src/build_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/build_test.cc')
-rw-r--r--src/build_test.cc226
1 files changed, 0 insertions, 226 deletions
diff --git a/src/build_test.cc b/src/build_test.cc
index c8814ab..54e0334 100644
--- a/src/build_test.cc
+++ b/src/build_test.cc
@@ -857,232 +857,6 @@ TEST_F(BuildTest, ImplicitOutput) {
EXPECT_EQ("touch out out.imp", command_runner_.commands_ran_[0]);
}
-TEST_F(BuildTest, SymlinkOutputsIsValidVariable) {
- string err;
- ASSERT_NO_FATAL_FAILURE(AssertParse(&state_,
-"rule dangling_symlink\n"
-" command = ln -sf nil $out\n"
-" symlink_outputs = $out\n"
-"build l1: dangling_symlink\n"
-"rule symlink\n"
-" command = ln -sf $in $out\n"
-" symlink_outputs = $out\n"
-"build l2: symlink file\n"
-))
-
- fs_.Create("file", "content");
- /// Disabled, but symlink_outputs is still a valid variable.
- config_.uses_symlink_outputs = false;
-
- EXPECT_TRUE(builder_.AddTarget("l1", &err));
- EXPECT_TRUE(builder_.AddTarget("l2", &err));
- EXPECT_TRUE(builder_.Build(&err));
- EXPECT_EQ("", err);
- EXPECT_EQ(2u, command_runner_.commands_ran_.size());
-}
-
-TEST_F(BuildTest, SymlinkOutputsOKWithDeclaration) {
- string err;
- ASSERT_NO_FATAL_FAILURE(AssertParse(&state_,
-"rule dangling_symlink\n"
-" command = ln -sf nil $out\n"
-" symlink_outputs = $out\n"
-"build l1: dangling_symlink\n"
-"rule symlink\n"
-" command = ln -sf $in $out\n"
-" symlink_outputs = $out\n"
-"build l2: symlink file\n"
-))
-
- config_.uses_symlink_outputs = true;
- config_.undeclared_symlink_outputs_should_err = true;
-
- fs_.Create("file", "content");
-
- EXPECT_TRUE(builder_.AddTarget("l1", &err));
- EXPECT_TRUE(builder_.AddTarget("l2", &err));
- EXPECT_TRUE(builder_.Build(&err));
- EXPECT_EQ("", err);
- EXPECT_EQ(2u, command_runner_.commands_ran_.size());
-}
-
-TEST_F(BuildTest, SymlinkOutputsOKWithUncanonicalizedDeclaration) {
- string err;
- ASSERT_NO_FATAL_FAILURE(AssertParse(&state_,
-"rule dangling_symlink\n"
-" command = ln -sf nil .//$out\n"
-" symlink_outputs = ././$out\n"
-"build l1: dangling_symlink\n"
-"rule symlink\n"
-" command = ln -sf $in ././$out\n"
-" symlink_outputs = .//$out\n"
-"build l2: symlink file\n"
-))
-
- config_.uses_symlink_outputs = true;
- config_.undeclared_symlink_outputs_should_err = true;
-
- fs_.Create("file", "content");
-
- EXPECT_TRUE(builder_.AddTarget("l1", &err));
- EXPECT_TRUE(builder_.AddTarget("l2", &err));
- EXPECT_TRUE(builder_.Build(&err));
- EXPECT_EQ("", err);
- EXPECT_EQ(2u, command_runner_.commands_ran_.size());
-}
-
-TEST_F(BuildTest, FileOutputsWarnWithSymlinkOutputsDeclaration) {
- ASSERT_NO_FATAL_FAILURE(AssertParse(&state_,
-"rule touch\n"
-" command = touch $out\n"
-" symlink_outputs = $out\n"
-"build f1: touch\n"));
-
- config_.uses_symlink_outputs = true;
- config_.undeclared_symlink_outputs_should_err = false;
-
- string err;
- EXPECT_TRUE(builder_.AddTarget("f1", &err));
- EXPECT_EQ("", err);
-
- EXPECT_TRUE(builder_.Build(&err));
- EXPECT_EQ("ninja: f1 is not a symlink, but it was declared in symlink_outputs", status_.last_output_);
-}
-
-TEST_F(BuildTest, FileOutputsErrorWithSymlinkOutputsDeclaration) {
- ASSERT_NO_FATAL_FAILURE(AssertParse(&state_,
-"rule touch\n"
-" command = touch $out\n"
-" symlink_outputs = $out\n"
-"build f1: touch\n"));
-
- config_.uses_symlink_outputs = true;
- config_.undeclared_symlink_outputs_should_err = true;
-
- string err;
- EXPECT_TRUE(builder_.AddTarget("f1", &err));
- EXPECT_EQ("", err);
-
- EXPECT_FALSE(builder_.Build(&err));
- EXPECT_EQ("subcommand failed", err);
- EXPECT_EQ("ninja: f1 is not a symlink, but it was declared in symlink_outputs", status_.last_output_);
-}
-
-TEST_F(BuildTest, DanglingSymlinkOutputsWarnWithoutDeclaration) {
- ASSERT_NO_FATAL_FAILURE(AssertParse(&state_,
-"rule dangling_symlink\n"
-" command = ln -sf nil $out\n"
-"build l1: dangling_symlink\n"
-))
-
- config_.uses_symlink_outputs = true;
- config_.undeclared_symlink_outputs_should_err = false;
-
- string err;
- EXPECT_TRUE(builder_.AddTarget("l1", &err));
- EXPECT_EQ("", err);
-
- EXPECT_TRUE(builder_.Build(&err));
- EXPECT_EQ("ninja: l1 is a symlink, but it was not declared in symlink_outputs", status_.last_output_);
-}
-
-TEST_F(BuildTest, RegularSymlinkOutputsWarnWithoutDeclaration) {
- ASSERT_NO_FATAL_FAILURE(AssertParse(&state_,
-"rule symlink\n"
-" command = ln -sf $in $out\n"
-"build l1: symlink file\n"
-))
- fs_.Create("file", "content");
-
- config_.uses_symlink_outputs = true;
- config_.undeclared_symlink_outputs_should_err = false;
-
- string err;
- EXPECT_TRUE(builder_.AddTarget("l1", &err));
- EXPECT_EQ("", err);
-
- EXPECT_TRUE(builder_.Build(&err));
- EXPECT_EQ("ninja: l1 is a symlink, but it was not declared in symlink_outputs", status_.last_output_);
-}
-
-TEST_F(BuildTest, DanglingSymlinkOutputsErrorWithoutDeclaration) {
- ASSERT_NO_FATAL_FAILURE(AssertParse(&state_,
-"rule dangling_symlink\n"
-" command = ln -sf nil $out\n"
-"build l1: dangling_symlink\n"
-))
-
- config_.uses_symlink_outputs = true;
- config_.undeclared_symlink_outputs_should_err = true;
-
- string err;
- EXPECT_TRUE(builder_.AddTarget("l1", &err));
- EXPECT_EQ("", err);
-
- EXPECT_FALSE(builder_.Build(&err));
- EXPECT_EQ("subcommand failed", err);
- EXPECT_EQ("ninja: l1 is a symlink, but it was not declared in symlink_outputs", status_.last_output_);
-}
-
-TEST_F(BuildTest, RegularSymlinkOutputsErrorWithoutDeclaration) {
- ASSERT_NO_FATAL_FAILURE(AssertParse(&state_,
-"rule symlink\n"
-" command = ln -sf $in $out\n"
-"build l1: symlink file\n"
-))
- fs_.Create("file", "content");
-
- config_.uses_symlink_outputs = true;
- config_.undeclared_symlink_outputs_should_err = true;
-
- string err;
- EXPECT_TRUE(builder_.AddTarget("l1", &err));
- EXPECT_EQ("", err);
-
- EXPECT_FALSE(builder_.Build(&err));
- EXPECT_EQ("subcommand failed", err);
- EXPECT_EQ("ninja: l1 is a symlink, but it was not declared in symlink_outputs", status_.last_output_);
-}
-
-TEST_F(BuildTest, ExtraSymlinkOutputsPrintsWarning) {
- ASSERT_NO_FATAL_FAILURE(AssertParse(&state_,
-"rule dangling_symlink\n"
-" command = ln -sf nil $out\n"
-"build l1: dangling_symlink\n"
-" symlink_outputs = l1 l2\n"
-))
-
- config_.uses_symlink_outputs = true;
- config_.undeclared_symlink_outputs_should_err = false;
-
- string err;
- EXPECT_TRUE(builder_.AddTarget("l1", &err));
- EXPECT_EQ("", err);
-
- EXPECT_TRUE(builder_.Build(&err));
- EXPECT_EQ("ninja: not all symlink_outputs were created for this edge: l2", status_.last_output_);
-}
-
-TEST_F(BuildTest, ExtraSymlinkOutputsRaisesError) {
- ASSERT_NO_FATAL_FAILURE(AssertParse(&state_,
-"rule dangling_symlink\n"
-" command = ln -sf nil $out\n"
-"build l1: dangling_symlink\n"
-" symlink_outputs = l1 l2\n"
-))
-
- config_.uses_symlink_outputs = true;
- config_.undeclared_symlink_outputs_should_err = true;
-
- string err;
- EXPECT_TRUE(builder_.AddTarget("l1", &err));
- EXPECT_EQ("", err);
-
- EXPECT_FALSE(builder_.Build(&err));
- EXPECT_EQ("subcommand failed", err);
- EXPECT_EQ("ninja: not all symlink_outputs were created for this edge: l2", status_.last_output_);
-}
-
// Test case from
// https://github.com/ninja-build/ninja/issues/148
TEST_F(BuildTest, MultiOutIn) {