diff options
author | Patrick McDermott <patrick.mcdermott@libiquity.com> | 2019-03-17 02:59:22 (EDT) |
---|---|---|
committer | Patrick McDermott <patrick.mcdermott@libiquity.com> | 2019-03-17 03:35:33 (EDT) |
commit | 9bc412a61611c69c971f9853ee9b85e971014fea (patch) | |
tree | 2b2a6cfec740ea9a116053d59326b8becab844a9 /tests/aux | |
parent | 82e312856d38a285e374a3bc9b06f57a15d4a782 (diff) |
tests/aux/common.sh: Add new function cmd_is()
Diffstat (limited to 'tests/aux')
-rw-r--r-- | tests/aux/common.sh | 36 |
1 files changed, 35 insertions, 1 deletions
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 +} |