From 78334607a85613ba3515302ab8bb9c577ecada68 Mon Sep 17 00:00:00 2001 From: Nicolas Mattia Date: Tue, 14 Jan 2020 15:40:52 +0100 Subject: [PATCH] INF-808: Fix flakiness in integration tests The cause for the issue was debuged last week: https://dfinity.atlassian.net/browse/INF-771 Master is red so often that we almost missed a security vulnerability notification, so I took a stab at fixing the flakiness. --- e2e/utils/assertions.bash | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/e2e/utils/assertions.bash b/e2e/utils/assertions.bash index 0b8f430a4b..0deb842880 100644 --- a/e2e/utils/assertions.bash +++ b/e2e/utils/assertions.bash @@ -7,14 +7,14 @@ # Returns: # none assert_command() { - eval "$( ("$@") \ - 2> >(out2=$(cat); declare -x -p out2) \ - > >(out1=$(cat); declare -x -p out1); \ - status=$?; declare -x -p status \ - )" + local stderrf="$(mktemp)" + local stdoutf="$(mktemp)" + local statusf="$(mktemp)" + ( set +e; "$@" 2>"$stderrf" >"$stdoutf"; echo -n "$?" > "$statusf" ) + status="$(<$statusf)"; rm "$statusf" - stderr="$out2" - stdout="$out1" + stderr="$(cat $stderrf)"; rm "$stderrf" + stdout="$(cat $stdoutf)"; rm "$stdoutf" output="$( \ [ "$stderr" ] && echo $stderr || true; \ [ "$stdout" ] && echo $stdout || true; \ @@ -33,14 +33,14 @@ assert_command() { # Returns: # none assert_command_fail() { - eval "$( ("$@") \ - 2> >(out2=$(cat); declare -x -p out2) \ - > >(out1=$(cat); declare -x -p out1); \ - status=$?; declare -x -p status \ - )" + local stderrf="$(mktemp)" + local stdoutf="$(mktemp)" + local statusf="$(mktemp)" + ( set +e; "$@" 2>"$stderrf" >"$stdoutf"; echo -n "$?" >"$statusf" ) + status="$(<$statusf)"; rm "$statusf" - stderr="$out2" - stdout="$out1" + stderr="$(cat $stderrf)"; rm "$stderrf" + stdout="$(cat $stdoutf)"; rm "$stdoutf" output="$( [ "$stderr" ] && echo $stderr || true; [ "$stdout" ] && echo $stdout || true;