#!/bin/bash set -eu THIS="$(realpath "$0")" THISDIR="$(dirname "${THIS}")" SUT="$(dirname "${THISDIR}")/makeself.sh" setupTests() { temp=`mktemp -d -t XXXXX` cd "$temp" mkdir archive touch archive/file # $SUT archive makeself-test.run "Test $1" declare -p "${1}" $SUT archive makeself-test.run "Test $1" echo \\\"\${${1}}\\\" } testArchiveDir() { setupTests ARCHIVE_DIR local ans=$'./complicated\n dir\twith spaces' mkdir "${ans}" mv ./makeself-test.run "${ans}/" actual_archive_dir="$("${ans}/makeself-test.run" --quiet)" assertEquals "${actual_archive_dir}" "${ans}" } testTmpRoot() { setupTests TMPROOT local ans="${temp}"$'/complicated\n dir\twith spaces' mkdir -p "${ans}" actual_tmp_root="$(TMPDIR="${ans}" "./makeself-test.run" --quiet)" assertEquals "${actual_tmp_root}" "${ans}" } testUserPWD() { setupTests USER_PWD local ans="${temp}"$'/complicated\n dir\twith spaces' mkdir -p "${ans}" cd "${ans}" actual_user_pwd="$("${temp}/makeself-test.run" --quiet)" assertEquals "${actual_user_pwd}" "${ans}" } # Load and run shUnit2. source "./shunit2/shunit2"