While test_expect_success could be used to define these prereqs, this is
probably not a good idea: if a prereq is not available, using
test_expect_success would result in a test being reported as FAILED at the end
of the test suite (and its dependencies as skipped).

On the contrary, when using test_set_bin_prereq, no test will be reported as
FAILED.
---
 test/test-lib.sh |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/test/test-lib.sh b/test/test-lib.sh
index f8df6a5..8e16a7e 100755
--- a/test/test-lib.sh
+++ b/test/test-lib.sh
@@ -542,6 +542,19 @@ test_have_prereq () {
        esac
 }

+test_set_bin_prereq () {
+       bin=$1
+       name=$2
+       prereq=$3
+       if which $bin &>/dev/null
+       then
+               test_set_prereq $prereq
+       else
+               say_color info "%-6s" "INFO"
+               echo " Missing test prerequisite: $name"
+       fi
+}
+
 # You are not expected to call test_ok_ and test_failure_ directly, use
 # the text_expect_* functions instead.

-- 
1.7.6.4

Reply via email to