summaryrefslogtreecommitdiff
blob: 90dc25bf4e7cddffeed1781d284851f7cada8dd5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
https://github.com/seccomp/libseccomp/pull/424

From 865adeed17cac7063cbbce0c5df225aa35c83621 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Sat, 16 Dec 2023 02:17:36 +0000
Subject: [PATCH] tests: avoid use of non-portable `which`

which is not a standard POSIX utility, and indeed, each of these test scripts
uses #!/bin/bash as its shebang, so we can use `type -P` which has the same
behaviour as `which` for free.

(If the tests used POSIX shell, we could do `command -v`, its only caveat is
that it'll pick up functions in the user's shell, which doesn't matter 99% of
the time anyway.)

Distributions like Debian [0] and Gentoo [1] are looking to remove `which`
from their base set of packages.

[0] https://lwn.net/Articles/874049/
[1] https://bugs.gentoo.org/646588

Signed-off-by: Sam James <sam@gentoo.org>
--- a/tests/38-basic-pfc_coverage.sh
+++ b/tests/38-basic-pfc_coverage.sh
@@ -18,7 +18,7 @@
 #
 function check_deps() {
 	[[ -z "$1" ]] && return
-	which "$1" >& /dev/null
+	type -P "$1" >& /dev/null
 	return $?
 }
 
--- a/tests/55-basic-pfc_binary_tree.sh
+++ b/tests/55-basic-pfc_binary_tree.sh
@@ -18,7 +18,7 @@
 #
 function check_deps() {
 	[[ -z "$1" ]] && return
-	which "$1" >& /dev/null
+	type -P "$1" >& /dev/null
 	return $?
 }
 
--- a/tests/regression
+++ b/tests/regression
@@ -73,7 +73,7 @@ GLBL_SYS_API="../tools/scmp_api_level"
 #
 function check_deps() {
 	[[ -z "$1" ]] && return
-	which "$1" >& /dev/null
+	type -P "$1" >& /dev/null
 	return $?
 }
 
--- a/tests/testgen
+++ b/tests/testgen
@@ -32,7 +32,7 @@
 #
 function verify_deps() {
 	[[ -z "$1" ]] && return
-	if ! which "$1" >& /dev/null; then
+	if ! type -P "$1" >& /dev/null; then
 		echo "error: install \"$1\" and include it in your \$PATH"
 		exit 1
 	fi
-- 
2.43.0