blob: 91a3574b6326eebf07547a55e459a312d237c255 [file] [log] [blame]
#!/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.
# 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; }
function test_build_objc_tools() {
# TODO(cparsons): Test building tools/objc/...
bazel build @bazel_tools//tools/objc:make_hashed_objlist.py \
|| fail "should build tools/objc/make_hashed_objlist.py"
}
# Test that verifies @bazel_tools//tools:bzl_srcs contains all .bzl source
# files underneath @bazel_tools//tools
function test_bzl_srcs() {
local registered_files=$(bazel query 'kind(source, deps(@bazel_tools//tools:bzl_srcs))')
registered_files="${registered_files//://}"
# Find the actual set of .bzl source files. "bazel query @bazel_tools//..." does
# not work here, because that command currently fails.
# See https://github.com/bazelbuild/bazel/issues/8859.
local tools_base="$(bazel info output_base)/external/bazel_tools/tools"
local tools_base_len=$(echo $tools_base | wc -c)
local found_files=$(find "$tools_base" -name "*.bzl")
for found_file in $found_files; do
expected_label="@bazel_tools//tools/${found_file:tools_base_len}"
if ! [[ "$registered_files" =~ "$expected_label" ]]; then
fail "$expected_label was not found under @bazel_tools//tools:bzl_srcs. Found: $registered_files"
fi
done
}
run_suite "bazel_tools test suite"