mirror of
https://github.com/opentffoundation/opentf.git
synced 2025-12-21 10:47:34 -05:00
50 lines
1.2 KiB
Bash
Executable File
50 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copyright (c) The OpenTofu Authors
|
|
# SPDX-License-Identifier: MPL-2.0
|
|
# Copyright (c) 2023 HashiCorp, Inc.
|
|
# SPDX-License-Identifier: MPL-2.0
|
|
|
|
|
|
tofu version 2>/dev/null >/dev/null
|
|
if [ $? -ne 0 ]; then
|
|
set -e
|
|
TOFU_VERSION="1.6.0-alpha2"
|
|
OS="$(uname | tr '[:upper:]' '[:lower:]')"
|
|
ARCH="$(uname -m | sed -e 's/aarch64/arm64/' -e 's/x86_64/amd64/')"
|
|
TEMPDIR="$(mktemp -d)"
|
|
pushd "${TEMPDIR}" >/dev/null
|
|
wget "https://github.com/opentofu/opentofu/releases/download/v${TOFU_VERSION}/tofu_${TOFU_VERSION}_${OS}_${ARCH}.zip"
|
|
unzip "tofu_${TOFU_VERSION}_${OS}_${ARCH}.zip"
|
|
sudo mv tofu /usr/local/bin/tofu
|
|
popd >/dev/null
|
|
rm -rf "${TEMPDIR}"
|
|
set +e
|
|
fi
|
|
|
|
ERROR=0
|
|
for testcase in $(ls -d */); do
|
|
testcase=$(echo -n "${testcase}" | sed -e 's$/$$')
|
|
(
|
|
cd $testcase
|
|
tofu init
|
|
RESULT=$?
|
|
if [ "$RESULT" -ne 0 ]; then
|
|
exit "$RESULT"
|
|
fi
|
|
tofu test
|
|
exit $?
|
|
) 2>/tmp/${testcase}.log >/tmp/${testcase}.log
|
|
RESULT=$?
|
|
echo -n "::group::"
|
|
if [ "${RESULT}" -ne 0 ]; then
|
|
echo -e "\033[0;31m${testcase} (FAIL)\033[0m"
|
|
ERROR="${RESULT}"
|
|
else
|
|
echo -e "\033[0;32m${testcase} (PASS)\033[0m"
|
|
fi
|
|
cat /tmp/${testcase}.log
|
|
echo "::endgroup::"
|
|
done
|
|
|
|
exit "${ERROR}"
|