aboutgitcodebugslistschat
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2022-07-06 17:29:04 +1000
committerStefano Brivio <sbrivio@redhat.com>2022-07-14 01:32:42 +0200
commit5d7688d26f616831731a550f4a422f67aed9d21f (patch)
treee86988bed271c8f4fd5aebb4596c8472102e858c
parenteb2e86dec0dea0c63c548944246ed1c2df0ffddb (diff)
downloadpasst-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/all22
-rw-r--r--test/build/install34
-rwxr-xr-xtest/lib/test28
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 ..