On 15.03.24 11:16, Eelco Chaudron wrote: > Hi Jakob, > > See some comments below. > > //Eelco
Thanks and comments below again 😄 Cheers, Jakob >> ... >> --- a/tests/appctl.py >> +++ b/tests/appctl.py >> @@ -49,13 +49,30 @@ def main(): >> help="Arguments to the command.") >> parser.add_argument("-T", "--timeout", metavar="SECS", >> help="wait at most SECS seconds for a response") >> + parser.add_argument("-f", "--format", metavar="FMT", >> + help="Output format.", default="text", >> + choices=[fmt.name.lower() >> + for fmt in ovs.util.OutputFormat]) >> args = parser.parse_args() >> >> signal_alarm(int(args.timeout) if args.timeout else None) >> >> ovs.vlog.Vlog.init() >> target = args.target >> + format = ovs.util.OutputFormat[args.format.upper()] >> client = connect_to_target(target) >> + >> + if format != ovs.util.OutputFormat.TEXT: >> + err_no, error, _ = client.transact( >> + "set-options", ["--format", args.format]) >> + >> + if err_no: >> + ovs.util.ovs_fatal(err_no, "%s: transaction error" % target) >> + elif error is not None: > I see this is a copy from below, but is the 'elif' ok here? Meaning can we not > get both errors at the same time? The C code catches both. > > Also 'if err_no' we will still try the second transaction for the command. > I think we should exit even in this case. When we hit a transaction error ('if err_no'), the ovs.util.ovs_fatal() call will sys.exit(1), so the elif branch will not be executed nor the second command transaction?! What did I miss?🙈 >> + sys.stderr.write(error) >> + ovs.util.ovs_error(0, "%s: server returned an error" % target) >> + sys.exit(2) >> + >> err_no, error, result = client.transact(args.command, args.argv) >> client.close() >> _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev