tests
This commit is contained in:
Executable
+51
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
|
||||
|
||||
LIBNAME="${1:-support}"
|
||||
LIVERSION="${2:-0.3.0}"
|
||||
BASEURL='https://github.com/bats-core'
|
||||
DESTDIR="${BATS_LIBS_DEST_DIR:-/usr/lib/bats}"
|
||||
TMPDIR=$(mktemp -d -t bats-libs-XXXXXX)
|
||||
USAGE="Please provide the bats libe name and version \nFor example: install_libs.sh support 2.0.0\n"
|
||||
|
||||
trap 'test -d "${TMPDIR}" && rm -fr "${TMPDIR}"' EXIT ERR SIGINT SIGTERM
|
||||
|
||||
[[ $# -ne 2 ]] && { _log FATAL "$USAGE"; exit 1; }
|
||||
|
||||
_log() {
|
||||
printf "$(date "+%Y-%m-%d %H:%M:%S") - %s - %s\n" "${1}" "${2}"
|
||||
}
|
||||
|
||||
create_temp_dirs() {
|
||||
mkdir -p "${TMPDIR}/${1}"
|
||||
if [[ ${LIBNAME} != "detik" ]]; then
|
||||
mkdir -p "${DESTDIR}/bats-${1}/src"
|
||||
else
|
||||
_log INFO "Skipping src 'cause Detik does not need it"
|
||||
fi
|
||||
}
|
||||
|
||||
download_extract_source() {
|
||||
wget -qO- ${BASEURL}/bats-"${1}"/archive/refs/tags/v"${2}".tar.gz | tar xz -C "${TMPDIR}/${1}" --strip-components 1
|
||||
}
|
||||
|
||||
install_files() {
|
||||
if [[ ${LIBNAME} != "detik" ]]; then
|
||||
install -Dm755 "${TMPDIR}/${1}/load.bash" "${DESTDIR}/bats-${1}/load.bash"
|
||||
for fn in "${TMPDIR}/${1}/src/"*.bash; do install -Dm755 "$fn" "${DESTDIR}/bats-${1}/src/$(basename "$fn")"; done
|
||||
else
|
||||
for fn in "${TMPDIR}/${1}/lib/"*.bash; do install -Dm755 "$fn" "${DESTDIR}/bats-${1}/$(basename "$fn")"; done
|
||||
fi
|
||||
}
|
||||
|
||||
_log INFO "Starting to install ${LIBNAME} ver ${LIVERSION}"
|
||||
_log INFO "Creating directories"
|
||||
create_temp_dirs "${LIBNAME}"
|
||||
_log INFO "Downloading"
|
||||
download_extract_source "${LIBNAME}" "${LIVERSION}"
|
||||
_log INFO "Installation"
|
||||
install_files "${LIBNAME}"
|
||||
_log INFO "Done, cleaning.."
|
||||
Reference in New Issue
Block a user