From b10101ab8fe8d505d023f0a4556ec0c227635e24 Mon Sep 17 00:00:00 2001 From: Klaus Aehlig Date: Tue, 22 Nov 2016 16:25:09 +0000 Subject: Rollback of commit fec7d877735eacaf023718ea3e598e6d10adb9a6. *** Reason for rollback *** Roll forward with work around for the fact that bazel cannot build from read-only sources on mac. *** Original change description *** Automated [] rollback of commit 1ff6d480d02ab8189ac12f8fedfbed1222b86a43. *** Reason for rollback *** This test doesn't pass *** Original change description *** Add a test verifying that bazel can be bootstrapped from the distfile To verify that the distribution artifact is complete, add a test that tries to bootstrap bazel from that artifact. -- MOS_MIGRATED_REVID=139911124 --- src/test/shell/bazel/BUILD | 11 ++++++ .../shell/bazel/bazel_bootstrap_distfile_test.sh | 41 ++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100755 src/test/shell/bazel/bazel_bootstrap_distfile_test.sh (limited to 'src/test') 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" -- cgit v1.2.3