k3s/hack/make-rules/test-e2e-kubeadm.sh

65 lines
1.9 KiB
Bash
Executable File

#!/usr/bin/env bash
# Copyright 2019 The Kubernetes Authors.
#
# 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.
set -o errexit
set -o nounset
set -o pipefail
KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/../..
source "${KUBE_ROOT}/hack/lib/init.sh"
focus=${FOCUS:-""}
skip=${SKIP:-""}
parallelism=${PARALLELISM:-""}
artifacts=${ARTIFACTS:-"/tmp/_artifacts/$(date +%y%m%dT%H%M%S)"}
run_until_failure=${RUN_UNTIL_FAILURE:-"false"}
build=${BUILD:-"true"}
# Parse the flags to pass to ginkgo
ginkgoflags=""
if [[ ${parallelism} != "" ]]; then
ginkgoflags="${ginkgoflags} -nodes=${parallelism} "
else
ginkgoflags="${ginkgoflags} -p "
fi
if [[ ${focus} != "" ]]; then
ginkgoflags="${ginkgoflags} -focus=\"${focus}\" "
fi
if [[ ${skip} != "" ]]; then
ginkgoflags="${ginkgoflags} -skip=\"${skip}\" "
fi
if [[ ${run_until_failure} != "false" ]]; then
ginkgoflags="${ginkgoflags} -untilItFails=${run_until_failure} "
fi
# Setup the directory to copy test artifacts (logs, junit.xml, etc) from remote host to local host
if [[ ! -d "${artifacts}" ]]; then
echo "Creating artifacts directory at ${artifacts}"
mkdir -p "${artifacts}"
fi
echo "Test artifacts will be written to ${artifacts}"
# Test
kube::golang::verify_go_version
go run test/e2e_kubeadm/runner/local/run_local.go \
--ginkgo-flags="${ginkgoflags}" \
--test-flags="--provider=skeleton --report-dir=${artifacts}" \
--build="${build}" 2>&1 | tee -i "${artifacts}/build-log.txt"