From aeabb58dc50e0a6c5242274949e8c5b0c4c3c170 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Sun, 12 Feb 2017 15:53:07 +0100 Subject: support/test-pkg: simplify the config check 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 Signed-off-by: "Yann E. MORIN" Signed-off-by: Thomas Petazzoni --- 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 11ec18ca5..a1d272a0d 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 -- cgit v1.2.3