diff --git a/containers/build-run.sh b/containers/build-run.sh index f577572..ce558d4 100755 --- a/containers/build-run.sh +++ b/containers/build-run.sh @@ -2,5 +2,6 @@ set -eu -./build.sh "$1" && clear +./build.sh "$1" +clear ./run.sh "$1" diff --git a/containers/build.sh b/containers/build.sh index affcd99..b8a8bff 100755 --- a/containers/build.sh +++ b/containers/build.sh @@ -10,11 +10,9 @@ if podman container exists "$tag"; then podman stop --time 3 "$tag" fi -if ! [ -f "../target/debug/$binary" ]; then - cd .. - cargo build - cd - -fi +cd .. +cargo build +cd - cp -v ../target/debug/$binary $binary diff --git a/containers/test-clean.sh b/containers/test-clean.sh index 1bbcdb7..741c031 100755 --- a/containers/test-clean.sh +++ b/containers/test-clean.sh @@ -9,7 +9,7 @@ fail() { printf " [FAIL] %b\n" "$1"; exit 1; } try() { actual="$1" - expected="$2" + expected="$(printf '%b' "$2")" fail_message="${3:-}" ok_message="${4:-}" @@ -20,6 +20,8 @@ try() { fi } +info "tori version $(tori version)" + announce "Fresh install has no manually installed packages" tori_manual=$(tori manual) try "$tori_manual" "" @@ -28,11 +30,13 @@ info "Updating apt packages" apt-get update >/dev/null announce "Manually installed package is the only package in 'tori manual'" +info "Installing: figlet" apt-get install -y figlet >/dev/null 2>&1 tori_manual=$(tori manual) try "$tori_manual" figlet announce "Manually installed packages are the only packages in 'tori manual'" +info "Installing: sudo" apt-get install -y sudo >/dev/null 2>&1 -tori_manual=$(tori manual | sort) +tori_manual=$(tori manual) try "$tori_manual" "$(printf 'figlet\nsudo')" diff --git a/containers/test.sh b/containers/test.sh index 08ba0d0..2734826 100755 --- a/containers/test.sh +++ b/containers/test.sh @@ -9,7 +9,7 @@ fail() { printf " [FAIL] %b\n" "$1"; exit 1; } try() { actual="$1" - expected="$2" + expected="$(printf '%b' "$2")" operator="${3:-=}" fail_message="${3:-}" ok_message="${4:-}" @@ -23,18 +23,43 @@ try() { fi } +info "tori version $(tori version)" + announce "sudo works" whoami=$(whoami) sudo_whoami=$(sudo whoami) -echo try "$whoami" "$sudo_whoami" != try "$whoami" "$sudo_whoami" != -echo try "$sudo_whoami" root try "$sudo_whoami" root info "Updating apt packages" sudo apt-get update >/dev/null announce "Manually installed packages are the only packages in 'tori manual'" +info "Installing: sudo" sudo apt-get install -y sudo >/dev/null 2>&1 -tori_manual=$(tori manual | sort) +tori_manual=$(tori manual) +try "$tori_manual" "sudo" + +announce "Manually installed packages change after installing one" +info "Installing: figlet" +sudo apt-get install -y figlet >/dev/null 2>&1 +tori_manual=$(tori manual) +try "$tori_manual" "figlet\nsudo" + +announce "Manually installed packages change after installing several" +info "Installing: vim-tiny tmux qalc" +sudo apt-get install -y vim-tiny tmux qalc >/dev/null 2>&1 +tori_manual=$(tori manual) +try "$tori_manual" "figlet\nqalc\nsudo\ntmux\nvim-tiny" + +announce "Manually installed packages change after uninstalling one" +info "Uninstalling: qalc" +sudo apt-get remove -y qalc >/dev/null 2>&1 +tori_manual=$(tori manual) +try "$tori_manual" "figlet\nsudo\ntmux\nvim-tiny" + +announce "Manually installed packages change after uninstalling several" +info "Uninstalling: figlet tmux vim-tiny" +sudo apt-get remove -y figlet tmux vim-tiny >/dev/null 2>&1 +tori_manual=$(tori manual) try "$tori_manual" "sudo"