diff options
-rw-r--r-- | tests/bugs/bug-857330/common.rc | 4 | ||||
-rw-r--r-- | tests/include.rc | 13 |
2 files changed, 15 insertions, 2 deletions
diff --git a/tests/bugs/bug-857330/common.rc b/tests/bugs/bug-857330/common.rc index f2327a86217..40da95e8c33 100644 --- a/tests/bugs/bug-857330/common.rc +++ b/tests/bugs/bug-857330/common.rc @@ -67,4 +67,8 @@ function check-with-stored-task-id-xml() function get-task-status() { $CLI $COMMAND | grep -o $PATTERN + if [ ${PIPESTATUS[0]} -ne 0 ]; then + return 1 + fi + return 0 } diff --git a/tests/include.rc b/tests/include.rc index f5cab1f6640..90bcb8ec7b8 100644 --- a/tests/include.rc +++ b/tests/include.rc @@ -127,8 +127,17 @@ function _EXPECT_WITHIN() local success=0 while [ `date +%s` -lt $endtime ]; do - "$@" | tail -1 | egrep -q "^${e}\$" - if [ $? -eq 0 ]; then + ("$@") | tail -1 | egrep -q "^${e}\$" + + local pipestatus=(${PIPESTATUS[@]}) + + ## Check command success + if [ ${pipestatus[0]} -ne 0 ]; then + break; + fi + + ## Check match success + if [ ${pipestatus[2]} -eq 0 ]; then success=1; break; fi |