On Wed, Feb 19, 2020 at 11:15 AM <pbonzini@xxxxxxxxxx> wrote: > OPTION_CMDMODE is essentially OPTION_SET_INT plus the extra check > that the variable had not set before. In order to allow custom > processing, change it to OPTION_SET_INT plus a new flag that takes > care of the check. This works as long as the option value points > to an int. > > Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> > --- > diff --git a/t/t0040-parse-options.sh b/t/t0040-parse-options.sh > @@ -324,6 +326,22 @@ test_expect_success 'OPT_NEGBIT() works' ' > +test_expect_success 'OPT_CMDMODE() detects incompatibility' ' > + test_must_fail test-tool parse-options --mode1 --mode2 >output 2>output.err && > + test_must_be_empty output && > + grep "incompatible with --mode" output.err > +' The error message may have been localized, so use test_i18ngrep() instead of 'grep': test_i18ngrep "incompatible with --mode" output.err > + > +test_expect_success 'OPT_CMDMODE() detects incompatibility with something else' ' > + test_must_fail test-tool parse-options --set23 --mode2 >output 2>output.err && > + test_must_be_empty output && > + grep "incompatible with something else" output.err > +' Ditto.