From f3f39faf843cc19ce1f34805e91b1081f7268ad3 Mon Sep 17 00:00:00 2001 From: Andrew Bettison Date: Mon, 14 Oct 2013 16:50:02 +1030 Subject: [PATCH] Improve test defs: setup_jq() For test fixtures that need the jq(1) JSON filter utility --- testdefs.sh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/testdefs.sh b/testdefs.sh index 4196e03e..2e083640 100644 --- a/testdefs.sh +++ b/testdefs.sh @@ -760,3 +760,24 @@ setup_curl() { esac fail "cannot parse output of curl --version: $ver" } + +# Setup function: +# - ensure that version 1.2 or later of the jq(1) utility is available +setup_jq() { + local minversion="${1?}" + local ver="$(jq --version 2>&1)" + case "$ver" in + '') + fail "jq(1) command is not present" + ;; + jq\ version\ *) + set -- $ver + tfw_cmp_version "$3" "$minversion" + case $? in + 0|2) return 0;; + esac + fail "jq(1) version $3 is not adequate (need $minversion or higher)" + ;; + esac + fail "cannot parse output of jq --version: $ver" +}