diff options
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/shell/bazel/BUILD | 11 | ||||
-rwxr-xr-x | src/test/shell/bazel/bazel_bootstrap_distfile_test.sh | 41 |
2 files changed, 52 insertions, 0 deletions
diff --git a/src/test/shell/bazel/BUILD b/src/test/shell/bazel/BUILD index 4c972ff418..e83ada3d55 100644 --- a/src/test/shell/bazel/BUILD +++ b/src/test/shell/bazel/BUILD @@ -405,6 +405,17 @@ sh_test( data = [":test-deps"], ) +sh_test( + name = "bazel_boostrap_distfile_test", + size = "large", + srcs = ["bazel_bootstrap_distfile_test.sh"], + args = ["$(location //:bazel-distfile)"], + data = [ + ":test-deps", + "//:bazel-distfile", + ], +) + test_suite( name = "all_tests", visibility = ["//visibility:public"], diff --git a/src/test/shell/bazel/bazel_bootstrap_distfile_test.sh b/src/test/shell/bazel/bazel_bootstrap_distfile_test.sh new file mode 100755 index 0000000000..ade7d1a52c --- /dev/null +++ b/src/test/shell/bazel/bazel_bootstrap_distfile_test.sh @@ -0,0 +1,41 @@ +#!/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. +# +# Test that bazel can be compiled out of the distribution artifact. +# + +set -u +DISTFILE=$(readlink $1) +shift 1 + +# 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_bootsrap() { + local olddir=$(pwd) + WRKDIR=$(mktemp -d ${TEST_TMPDIR}/bazelbootstrap.XXXXXXXX) + mkdir -p "${WRKDIR}" || fail "Could not create workdir" + cd "${WRKDIR}" || fail "Could not change to work directory" + unzip ${DISTFILE} + find . -type f -exec chmod u+w {} \; + ./compile.sh || fail "Expected to be able to bootstrap bazel" + ./output/bazel version || fail "Generated bazel not working" + cd "${olddir}" +} + +run_suite "bootstrap test" |