[Buildroot] [PATCH 3/7 v4] support/test-pkg: simplify the config check
Yann E. MORIN
yann.morin.1998 at free.fr
Sun Feb 12 14:53:07 UTC 2017
Use comm(1) to check that all our config options are properly set in the
resulting configuration, rather than our canned and fragile code.
Reported-by: Cam Hutchison <camh at xdna.net>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
---
support/scripts/test-pkg | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/support/scripts/test-pkg b/support/scripts/test-pkg
index 11ec18c..a1d272a 100755
--- a/support/scripts/test-pkg
+++ b/support/scripts/test-pkg
@@ -73,7 +73,7 @@ build_one() {
local url="${2}"
local cfg="${3}"
local pkg="${4}"
- local toolchain line skip
+ local toolchain
# Using basename(1) on a URL works nicely
toolchain="$(basename "${url}" .config)"
@@ -106,14 +106,10 @@ build_one() {
# or not set) in the actual .config; if one of them is not, it means
# some dependency from the toolchain or arch is not available, in
# which case this config is untestable and we skip it.
- skip=false
- while read line; do
- if ! grep "^${line}\$" "${dir}/.config" >/dev/null 2>&1; then
- printf "%s\n" "${line}"
- skip=true
- fi
- done <"${cfg}" >"${dir}/missing.config"
- if ${skip}; then
+ # We don't care about the locale to sort in, as long as both sort are
+ # done in the same locale.
+ comm -23 <(sort "${cfg}") <(sort "${dir}/.config") >"${dir}/missing.config"
+ if [ -s "${dir}/missing.config" ]; then
printf ", SKIPPED\n"
return
fi
--
2.7.4
More information about the buildroot
mailing list