diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2022-07-06 17:29:04 +1000 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2022-07-14 01:32:42 +0200 |
commit | 5d7688d26f616831731a550f4a422f67aed9d21f (patch) | |
tree | e86988bed271c8f4fd5aebb4596c8472102e858c | |
parent | eb2e86dec0dea0c63c548944246ed1c2df0ffddb (diff) | |
download | passt-5d7688d26f616831731a550f4a422f67aed9d21f.tar passt-5d7688d26f616831731a550f4a422f67aed9d21f.tar.gz passt-5d7688d26f616831731a550f4a422f67aed9d21f.tar.bz2 passt-5d7688d26f616831731a550f4a422f67aed9d21f.tar.lz passt-5d7688d26f616831731a550f4a422f67aed9d21f.tar.xz passt-5d7688d26f616831731a550f4a422f67aed9d21f.tar.zst passt-5d7688d26f616831731a550f4a422f67aed9d21f.zip |
tests: Remove not-very-useful "req" directive
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@gibson.dropbear.id.au>
-rw-r--r-- | test/build/all | 22 | ||||
-rw-r--r-- | test/build/install | 34 | ||||
-rwxr-xr-x | test/lib/test | 28 |
3 files changed, 31 insertions, 53 deletions
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@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@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 .. |