The test scripts support a "req" directive which requires one test script to be run before another. It's implemented by doing a topological sort based on these directives in the runner scripts, which is about as awkward as you'd expect in Bourne shell. It turns out we only use this functionality in one place - to make the "make install" test run after the plain "make" test. We also already have a simpler way of making sure tests run in a specific order: just put them into the same test script file. So, remove support for the "req" directive and just fold the build/all and build/install test scripts together. Signed-off-by: David Gibson <david(a)gibson.dropbear.id.au> --- test/build/all | 22 +++++++++++++++++++++- test/build/install | 34 ---------------------------------- test/lib/test | 28 ++++++++++------------------ 3 files changed, 31 insertions(+), 53 deletions(-) delete mode 100644 test/build/install diff --git a/test/build/all b/test/build/all index 6043793..1a89b77 100644 --- a/test/build/all +++ b/test/build/all @@ -11,7 +11,7 @@ # Copyright (c) 2021 Red Hat GmbH # Author: Stefano Brivio <sbrivio(a)redhat.com> -htools make cc rm uname getconf +htools make cc rm uname getconf mkdir cp rm man test Build passt host make clean @@ -40,3 +40,23 @@ host CFLAGS="-Werror" make check [ -f passt ] check [ -h pasta ] check [ -f qrap ] + +tempdir TEMP + +test Install +host prefix=__TEMP__ make install +check [ -f __TEMP__/bin/passt ] +check [ -h __TEMP__/bin/pasta ] +check [ -f __TEMP__/bin/qrap ] +check man -M __TEMP__/share/man -W passt +check man -M __TEMP__/share/man -W pasta +check man -M __TEMP__/share/man -W qrap + +test Uninstall +host prefix=__TEMP__ make uninstall +check ! [ -f __TEMP__/bin/passt ] +check ! [ -h __TEMP__/bin/pasta ] +check ! [ -f __TEMP__/bin/qrap ] +check ! man -M __TEMP__/share/man -W passt 2>/dev/null +check ! man -M __TEMP__/share/man -W pasta 2>/dev/null +check ! man -M __TEMP__/share/man -W qrap 2>/dev/null diff --git a/test/build/install b/test/build/install deleted file mode 100644 index 2c93647..0000000 --- a/test/build/install +++ /dev/null @@ -1,34 +0,0 @@ -# SPDX-License-Identifier: AGPL-3.0-or-later -# -# PASST - Plug A Simple Socket Transport -# for qemu/UNIX domain socket mode -# -# PASTA - Pack A Subtle Tap Abstraction -# for network namespace/tap device mode -# -# test/build/install - Check that binaries and man pages can be installed -# -# Copyright (c) 2021 Red Hat GmbH -# Author: Stefano Brivio <sbrivio(a)redhat.com> - -req build/all -htools make mkdir cp rm man -tempdir TEMP - -test Install -host prefix=__TEMP__ make install -check [ -f __TEMP__/bin/passt ] -check [ -h __TEMP__/bin/pasta ] -check [ -f __TEMP__/bin/qrap ] -check man -M __TEMP__/share/man -W passt -check man -M __TEMP__/share/man -W pasta -check man -M __TEMP__/share/man -W qrap - -test Uninstall -host prefix=__TEMP__ make uninstall -check ! [ -f __TEMP__/bin/passt ] -check ! [ -h __TEMP__/bin/pasta ] -check ! [ -f __TEMP__/bin/qrap ] -check ! man -M __TEMP__/share/man -W passt 2>/dev/null -check ! man -M __TEMP__/share/man -W pasta 2>/dev/null -check ! man -M __TEMP__/share/man -W qrap 2>/dev/null diff --git a/test/lib/test b/test/lib/test index 96dab2b..ae42864 100755 --- a/test/lib/test +++ b/test/lib/test @@ -418,29 +418,21 @@ test_one() { # $1: Name of directory containing set of test files, relative to test/ test() { __list= - __rem=1 cd test - while [ ${__rem} -eq 1 ]; do - __rem=0 - for __f in "${1}"/*; do - __type="$(file -b --mime-type ${__f})" - if [ "${__type}" = "text/x-shellscript" ]; then - __list="$(list_add "${__list}" "${__f}")" - continue - fi + for __f in "${1}"/*; do + __type="$(file -b --mime-type ${__f})" + if [ "${__type}" = "text/x-shellscript" ]; then + __list="$(list_add "${__list}" "${__f}")" + continue + fi - if [ -n "$(file_def "${__f}" onlyfor)" ] && \ + if [ -n "$(file_def "${__f}" onlyfor)" ] && \ ! list_has "$(file_def "${__f}" onlyfor)" "${MODE}"; then - continue - fi + continue + fi - if list_has_all "${__list}" "$(file_def "${__f}" req)"; then - __list="$(list_add "${__list}" "${__f}")" - else - __rem=1 - fi - done + __list="$(list_add "${__list}" "${__f}")" done cd .. -- 2.36.1