aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/shell/bazel/srcs_test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/shell/bazel/srcs_test.sh')
-rw-r--r--src/test/shell/bazel/srcs_test.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/test/shell/bazel/srcs_test.sh b/src/test/shell/bazel/srcs_test.sh
new file mode 100644
index 0000000000..422b58a82b
--- /dev/null
+++ b/src/test/shell/bazel/srcs_test.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+#
+# Copyright 2017 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.
+#
+# Test that all sources in Bazel are contained in the //:srcs filegroup
+# Actually this test just compares the two input (the file list and the
+# //:srcs filegroup and show the diff)
+
+LIST_SRCS="${TEST_SRCDIR}/local_bazel_source_list/sources.txt"
+SRCS_QUERY="$(mktemp)"
+
+cat "${TEST_SRCDIR}/io_bazel/src/test/shell/bazel/srcs_list" \
+ | grep -v '^@' \
+ | sed -e 's|^//||' | sed -e 's|^:||' | sed -e 's|:|/|' \
+ | sort -u >"${SRCS_QUERY}"
+
+res="$(diff -U 0 "${LIST_SRCS}" "${SRCS_QUERY}" | sed -e 's|^-||' \
+ | grep -Ev '^(@@|\+\+|--)' || true)"
+
+if [ -n "${res}" ]; then
+ echo "//:srcs filegroup do not contains all the sources, missing:
+${res}"
+ exit 1
+fi