aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test
diff options
context:
space:
mode:
authorGravatar Klaus Aehlig <aehlig@google.com>2018-08-09 08:12:03 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-09 08:13:26 -0700
commit33afd3cfc718d222e8b23584652ba0628538a4e5 (patch)
tree655c3d3a849596a315805c57802d7648b7963ffa /src/test
parente7fcab3fbca88fb8637881f3b2cf0ea8a1e9c8bf (diff)
Support a .bazelignore file
Add suport for a file .bazelignore, allowing to specify directories that should be ignored. So far, even for the "ignored" directories, the directory structure, including following symlinks, still has to be well founded. We plan to lift that restriction in the future, but already with the restriction, it is an improvement over the status quo. RELNOTES: bazel now supports a .bazelignore file specifying directories to be ignored; however, these directories still have to be well founded and, in particular, may not contain symlink cycles. Improves on #4888. Change-Id: Icfe0b7f5c35eceea16e28944ca7711431b71271a PiperOrigin-RevId: 208050372
Diffstat (limited to 'src/test')
-rw-r--r--src/test/shell/bazel/BUILD8
-rwxr-xr-xsrc/test/shell/bazel/bazelignore_test.sh45
2 files changed, 53 insertions, 0 deletions
diff --git a/src/test/shell/bazel/BUILD b/src/test/shell/bazel/BUILD
index e8fd9c09a6..eafe9aadea 100644
--- a/src/test/shell/bazel/BUILD
+++ b/src/test/shell/bazel/BUILD
@@ -417,6 +417,14 @@ sh_test(
)
sh_test(
+ name = "bazelignore_test",
+ size = "medium",
+ srcs = ["bazelignore_test.sh"],
+ data = [":test-deps"],
+ tags = ["no_windows"],
+)
+
+sh_test(
name = "workspace_resolved_test",
size = "medium",
srcs = ["workspace_resolved_test.sh"],
diff --git a/src/test/shell/bazel/bazelignore_test.sh b/src/test/shell/bazel/bazelignore_test.sh
new file mode 100755
index 0000000000..3e6aa1c601
--- /dev/null
+++ b/src/test/shell/bazel/bazelignore_test.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+#
+# Copyright 2016 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# An end-to-end test that Bazel's experimental UI produces reasonable output.
+
+# Load the test setup defined in the parent directory
+CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+source "${CURRENT_DIR}/../integration_test_setup.sh" \
+ || { echo "integration_test_setup.sh not found!" >&2; exit 1; }
+
+#### SETUP #############################################################
+
+set -e
+
+test_broken_BUILD_files_ignored() {
+ rm -rf work && mkdir work && cd work
+ touch WORKSPACE
+ mkdir -p ignoreme/deep/reallydep/stillignoreme
+ echo This is a broken BUILD file > ignoreme/BUILD
+ echo This is a broken BUILD file > ignoreme/deep/BUILD
+ echo This is a broken BUILD file > ignoreme/deep/reallydep/BUILD
+ echo This is a broken BUILD file > ignoreme/deep/reallydep/stillignoreme/BUILD
+ touch BUILD
+ bazel build ... && fail "Expected failure" || :
+
+ echo; echo
+ echo ignoreme > .bazelignore
+ bazel build ... \
+ || fail "directory mentioned in .bazelrc not ignored as it should"
+}
+
+run_suite "Integration tests for .bazelignore"