On Thu, Apr 20, 2023 at 6:15 PM Xavier Simonart <[email protected]> wrote:
> The macro has been used erroneously with the expectation > to take the third parameter as the expected output. > Fail if more than 2 arguments are used. > Also fail if the second argument is an integer (second arg expected to > be a command to execute in case of failure). > Same checks are used in ovs. > > Signed-off-by: Xavier Simonart <[email protected]> > --- > tests/ovs-macros.at | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/tests/ovs-macros.at b/tests/ovs-macros.at > index 36b58b5ae..cc5f6e3b1 100644 > --- a/tests/ovs-macros.at > +++ b/tests/ovs-macros.at > @@ -256,6 +256,13 @@ ovs_wait () { > ovs_wait_failed > AT_FAIL_IF([:]) > } > + > +check_ovs_wait_until_args() { > + AT_FAIL_IF([test $1 -ge 3]) > + dnl The second argument should not be a number (confused with AT_CHECK > ?). > + AT_FAIL_IF([test $1 -eq 2 && test "$2" -eq "$2" 2>/dev/null]) > +} > + > OVS_END_SHELL_HELPERS > m4_define([OVS_WAIT], [dnl > ovs_wait_cond () { > @@ -276,7 +283,8 @@ dnl zero code within reasonable time limit, then > dnl the test fails. In that case, runs IF-FAILED > dnl before aborting. > m4_define([OVS_WAIT_UNTIL], > - [OVS_WAIT([$1], [$2], [AT_LINE], [until $1])]) > + [check_ovs_wait_until_args "$#" "$2" > + OVS_WAIT([$1], [$2], [AT_LINE], [until $1])]) > > dnl OVS_WAIT_FOR_OUTPUT(COMMAND, EXIT-STATUS, STDOUT, STDERR) > dnl OVS_WAIT_FOR_OUTPUT_UNQUOTED(COMMAND, EXIT-STATUS, STDOUT, STDERR) > -- > 2.31.1 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > Looks good to me, thanks. Acked-by: Ales Musil <[email protected]> -- Ales Musil Senior Software Engineer - OVN Core Red Hat EMEA <https://www.redhat.com> [email protected] IM: amusil <https://red.ht/sig> _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
