From: Duy Nguyen Date: Tue, 07 May 2019 11:58:51 GMT Subject: Re: [PATCH v2] parse-options: don't emit "ambiguous option" for aliases Message-ID: In-Reply-To: On Tue, May 7, 2019 at 10:43 AM Junio C Hamano wrote: > -- >8 -- > Subject: t0040: protect lines that are indented by spaces > > This block is byte-for-byte identical expected output, that contains a > few lines that are indented in many spaces, which makes "git diff --check" > unhappy and will break the test when "git am --whitespace=fix" is > allowed to "correct" them. > > Protect the left edge with a marker character, and strip it with > sed, which is used as a standard way to deal with this issue in our > test suite. > > Signed-off-by: Signed-off-by: Junio C Hamano > --- > * Of course, if the right-edge need to be protected, we can do so > as well. > > t/t0040-parse-options.sh | 94 ++++++++++++++++++++++++------------------------ > 1 file changed, 47 insertions(+), 47 deletions(-) > > diff --git a/t/t0040-parse-options.sh b/t/t0040-parse-options.sh > index cebc77fab0..26373b5b72 100755 > --- a/t/t0040-parse-options.sh > +++ b/t/t0040-parse-options.sh > @@ -7,53 +7,53 @@ test_description='our own option parser' > > . ./test-lib.sh > > -cat >expect <<\EOF > -usage: test-tool parse-options > - > - A helper function for the parse-options API. > - > - --yes get a boolean > - -D, --no-doubt begins with 'no-' > - -B, --no-fear be brave > - -b, --boolean increment by one > - -4, --or4 bitwise-or boolean with ...0100 > - --neg-or4 same as --no-or4 > - > - -i, --integer get a integer > - -j get a integer, too > - -m, --magnitude get a magnitude > - --set23 set integer to 23 > - -L, --length get length of > - -F, --file set file to > - > -String options > - -s, --string > - get a string > - --string2 get another string > - --st get another string (pervert ordering) > - -o get another string > - --list add str to list > - > -Magic arguments > - --quux means --quux > - -NUM set integer to NUM > - + same as -b > - --ambiguous positive ambiguity > - --no-ambiguous negative ambiguity > - > -Standard options > - --abbrev[=] use digits to display SHA-1s > - -v, --verbose be verbose > - -n, --dry-run dry run > - -q, --quiet be quiet > - --expect expected output in the variable dump > - > -Alias > - -A, --alias-source > - get a string > - -Z, --alias-target > - get a string > - > +sed -e 's/^|//' >expect <<\EOF I think we already use qz_to_tab_space to protect leading spaces (t1450) or trailing ones (t4205). It's less strict than this though. Anyway, if you go with 's/^|//', maybe make it a helper function too because I'm pretty sure we have more text like this in the test suite. There's also the "tr -d Q" trick in t4038. But that's something to clean up if someone really have free time. > +|usage: test-tool parse-options > +| > +| A helper function for the parse-options API. > +| > +| --yes get a boolean > +| -D, --no-doubt begins with 'no-' > +| -B, --no-fear be brave > +| -b, --boolean increment by one > +| -4, --or4 bitwise-or boolean with ...0100 > +| --neg-or4 same as --no-or4 > +| > +| -i, --integer get a integer > +| -j get a integer, too > +| -m, --magnitude get a magnitude > +| --set23 set integer to 23 > +| -L, --length get length of > +| -F, --file set file to > +| > +|String options > +| -s, --string > +| get a string > +| --string2 get another string > +| --st get another string (pervert ordering) > +| -o get another string > +| --list add str to list > +| > +|Magic arguments > +| --quux means --quux > +| -NUM set integer to NUM > +| + same as -b > +| --ambiguous positive ambiguity > +| --no-ambiguous negative ambiguity > +| > +|Standard options > +| --abbrev[=] use digits to display SHA-1s > +| -v, --verbose be verbose > +| -n, --dry-run dry run > +| -q, --quiet be quiet > +| --expect expected output in the variable dump > +| > +|Alias > +| -A, --alias-source > +| get a string > +| -Z, --alias-target > +| get a string > +| > EOF > > test_expect_success 'test help' ' -- Duy