You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docker run --rm -e DEBIAN_FRONTEND=noninteractive "$IMAGE_ID" "$@"
echo ""
echo TEST: OK
echo ""
}
desc "Checking that apt is installed"
test dpkg -l apt
desc "Checking that a package can be installed with apt"
test bash -c 'apt-get update && apt-get -y install less && less --help >/dev/null'
desc "Checking that a package can be installed with install_packages and that it removes cache dirs"
test bash -c 'install_packages less && less --help >/dev/null && [ ! -e /var/cache/apt/archives ] && [ ! -e /var/lib/apt/lists ]'
desc "Checking that the debootstrap dir wasn't left in the image"
test bash -c '[ ! -e /debootstrap ]'
desc "Check that all base packages are correctly installed, including dependencies"
# Ask apt to install all packages that are already installed, has the effect of checking the
# dependencies are correctly available
test bash -c 'apt-get update && (dpkg-query -W -f \${Package} | while read pkg; do apt-get install $pkg; done)'
desc "Check that install_packages doesn't loop forever on failures"
# This won't install and will fail. The key is that the retry loop will stop after a few iterations.
# We check that we didn't install the package afterwards, just in case a package gets added with that name.
# We wrap the whole thing in a timeout so that it doesn't loop forever. It's not ideal to have a timeout as there may be spurious failures if the network is slow.