For some reason, while running cluster torture tests in GitHub Actions workflow, failure of 'echo' command doesn't fail the loop and subshell never exits, but keeps infinitely printing errors after breaking from the loop on the right side of the pipeline:
testsuite: line 8591: echo: write error: Broken pipe Presumably, that is caused by some shell configuration option, but I have no idea which one and I'm not able to reproduce locally with shell configuration options provided in GitHub documentation. Let's just add an explicit 'exit' on 'echo' failure. This will guarantee exit from the loop and the subshell regardless of configuration. CC: Ben Pfaff <[email protected]> Fixes: 0f03ae3754ec ("ovsdb: Improve timing in cluster torture test.") Signed-off-by: Ilya Maximets <[email protected]> --- tests/ovsdb-cluster.at | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ovsdb-cluster.at b/tests/ovsdb-cluster.at index c7f1e344c..115c9f797 100644 --- a/tests/ovsdb-cluster.at +++ b/tests/ovsdb-cluster.at @@ -152,7 +152,7 @@ ovsdb|WARN|schema: changed 2 columns in 'OVN_Southbound' database from ephemeral # Use file instead of var because code inside "while" runs in a subshell. echo 0 > phase i=0 - (while :; do echo; sleep 1; done) | while read REPLY; do + (while :; do echo || exit 0; sleep 1; done) | while read REPLY; do printf "t=%2d s:" $i done=0 for j in $(seq 0 $(expr $n1 - 1)); do -- 2.25.4 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
