#!/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.
#
# Wrapper script to run bazel in the tests. Any change to this file will
# affect all our integration tests.
#
bazel_bin=$(rlocation io_bazel/src/bazel)
# unset runfiles environment so that the "inner bazel"
# has to detect its own runfiles
unset RUNFILES_DIR
unset RUNFILES_MANIFEST_FILE
unset RUNFILES_MANIFEST_ONLY
exec $bazel_bin --bazelrc=$TEST_TMPDIR/bazelrc "$@"
