From 9bc412a61611c69c971f9853ee9b85e971014fea Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Sun, 17 Mar 2019 02:59:22 -0400 Subject: tests/aux/common.sh: Add new function cmd_is() --- (limited to 'tests/aux') diff --git a/tests/aux/common.sh b/tests/aux/common.sh index fce9d07..0561b21 100644 --- a/tests/aux/common.sh +++ b/tests/aux/common.sh @@ -1,6 +1,6 @@ # Functions common to tests # -# Copyright (C) 2018 Patrick McDermott +# Copyright (C) 2018, 2019 Patrick McDermott # # This file is part of opkbuild. # @@ -33,3 +33,37 @@ is() diag_ " expected: '${expected}'" fi } + +cmd_is() +{ + local description="${1}" + shift 1 + local ok= + local eof= + local got= + local exp= + + ok=true + exec 3<<-EOF + $("${@}") + EOF + while :; do + eof=0 + read -r got <&3 || eof=$((${eof} + 1)) + read -r exp <&0 || eof=$((${eof} + 2)) + [ ${eof} -eq 3 ] && break + [ x"${got}" = x"${exp}" ] && continue + if ${ok}; then + not_ok_ -- "${description}" + diag_ " Failed test '${description}'" + ok=false + fi + diag_ " got: '${got}'" + diag_ " expected: '${exp}'" + done + exec 3<&- + + if ${ok}; then + ok_ -- "${description}" + fi +} -- cgit v0.9.1