summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/bugs/bug-857330/common.rc4
-rw-r--r--tests/include.rc13
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