From: "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "Denton Liu" <liu.denton@gmail.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Junio C Hamano" <gitster@pobox.com>
Subject: [PATCH v2 0/8] Do not use abbreviated options in tests
Date: Fri, 12 Apr 2019 02:37:17 -0700 (PDT) [thread overview]
Message-ID: <pull.167.v2.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.167.git.gitgitgadget@gmail.com>
We do not want to have tests that need to be changed by completely unrelated
patch series, just because abbreviations that used to be unique are being
made non-unique by said patch series.
I stumbled over this while investigating the test failures in
dl/rebase-i-keep-base
[https://dev.azure.com/gitgitgadget/git/_build/results?buildId=5482&view=ms.vss-test-web.build-test-results-tab]
: the new --keep-base option makes the --keep abbreviation of --keep-empty
in t5407 non-unique, which causes the test suite to fail.
Changes since v1:
* Fixed a typo ("expaneded") in the last commit message.
* Added a regression test for the GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS
handling.
* Adjusted the code in test-lib.sh that makes sure that this variable is
set: it is now consistent with the way we do similar things in that file
already.
Johannes Schindelin (8):
tests (rebase): spell out the `--keep-empty` option
tests (rebase): spell out the `--force-rebase` option
t7810: do not abbreviate `--no-exclude-standard` nor `--invert-match`
t5531: avoid using an abbreviated option
tests (push): do not abbreviate the `--follow-tags` option
tests (status): spell out the `--find-renames` option in full
tests (pack-objects): use the full, unabbreviated `--revs` option
tests: disallow the use of abbreviated options (by default)
parse-options.c | 9 ++++++
t/README | 4 +++
t/t0040-parse-options.sh | 14 +++++++-
t/t3415-rebase-autosquash.sh | 2 +-
t/t3430-rebase-merges.sh | 4 +--
t/t5317-pack-objects-filter-objects.sh | 44 +++++++++++++-------------
t/t5407-post-rewrite-hook.sh | 4 +--
t/t5516-fetch-push.sh | 4 +--
t/t5531-deep-submodule-push.sh | 2 +-
t/t7525-status-rename.sh | 8 ++---
t/t7810-grep.sh | 16 +++++-----
t/test-lib.sh | 7 ++++
12 files changed, 75 insertions(+), 43 deletions(-)
base-commit: 041f5ea1cf987a4068ef5f39ba0a09be85952064
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-167%2Fdscho%2Fdisallow-abbreviated-options-in-tests-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-167/dscho/disallow-abbreviated-options-in-tests-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/167
Range-diff vs v1:
1: a1b4b74b91 = 1: a1b4b74b91 tests (rebase): spell out the `--keep-empty` option
2: 017ec9a0c7 = 2: 017ec9a0c7 tests (rebase): spell out the `--force-rebase` option
3: 7d8f6a2ee6 = 3: 7d8f6a2ee6 t7810: do not abbreviate `--no-exclude-standard` nor `--invert-match`
4: f45c435e4a = 4: f45c435e4a t5531: avoid using an abbreviated option
5: 7372059922 = 5: 7372059922 tests (push): do not abbreviate the `--follow-tags` option
6: 531450c00d = 6: 531450c00d tests (status): spell out the `--find-renames` option in full
7: a722a065d2 = 7: a722a065d2 tests (pack-objects): use the full, unabbreviated `--revs` option
8: 04c36b1de9 ! 8: a27d316855 tests: disallow the use of abbreviated options (by default)
@@ -14,7 +14,7 @@
For example, if a future contribution added a new mode
`git init --babyproofing` and a previously-introduced test case used the
- fact that `git init --ba` expaneded to `git init --bare`, that future
+ fact that `git init --ba` expanded to `git init --bare`, that future
contribution would now have to touch seemingly unrelated tests just to
keep the test suite from failing.
@@ -115,6 +115,18 @@
test-tool parse-options --no-ambig >output 2>output.err &&
test_must_be_empty output.err &&
test_cmp expect output
+@@
+ test-tool parse-options --expect="verbose: 0" -v -v -v --no-verbose
+ '
+
++test_expect_success 'GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS works' '
++ env GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=false \
++ test-tool parse-options --ye &&
++ test_must_fail env GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=true \
++ test-tool parse-options --ye
++'
++
+ test_done
diff --git a/t/test-lib.sh b/t/test-lib.sh
--- a/t/test-lib.sh
@@ -124,10 +136,11 @@
export PERL_PATH SHELL_PATH
+# Disallow the use of abbreviated options in the test suite by default
-+test -n "$GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS" || {
++if test -n "${GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS:+isset}"
++then
+ GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=true
+ export GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS
-+}
++fi
+
################################################################
# It appears that people try to run tests without building...
--
gitgitgadget
next prev parent reply other threads:[~2019-04-12 9:37 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-25 18:14 [PATCH 0/8] Do not use abbreviated options in tests Johannes Schindelin via GitGitGadget
2019-03-25 18:14 ` [PATCH 1/8] tests (rebase): spell out the `--keep-empty` option Johannes Schindelin via GitGitGadget
2019-03-25 18:14 ` [PATCH 2/8] tests (rebase): spell out the `--force-rebase` option Johannes Schindelin via GitGitGadget
2019-03-25 18:14 ` [PATCH 3/8] t7810: do not abbreviate `--no-exclude-standard` nor `--invert-match` Johannes Schindelin via GitGitGadget
2019-03-25 18:14 ` [PATCH 4/8] t5531: avoid using an abbreviated option Johannes Schindelin via GitGitGadget
2019-03-25 18:14 ` [PATCH 5/8] tests (push): do not abbreviate the `--follow-tags` option Johannes Schindelin via GitGitGadget
2019-03-25 18:14 ` [PATCH 6/8] tests (status): spell out the `--find-renames` option in full Johannes Schindelin via GitGitGadget
2019-03-25 18:14 ` [PATCH 8/8] tests: disallow the use of abbreviated options (by default) Johannes Schindelin via GitGitGadget
2019-03-25 18:35 ` Denton Liu
2019-03-25 20:26 ` Ævar Arnfjörð Bjarmason
2019-04-12 8:48 ` Johannes Schindelin
2019-04-12 8:50 ` Johannes Schindelin
2019-03-25 19:47 ` Ævar Arnfjörð Bjarmason
2019-04-12 8:59 ` Johannes Schindelin
2019-03-25 18:14 ` [PATCH 7/8] tests (pack-objects): use the full, unabbreviated `--revs` option Johannes Schindelin via GitGitGadget
2019-03-25 20:23 ` [PATCH 0/2] allow for configuring option abbreviation + fix Ævar Arnfjörð Bjarmason
2019-03-25 20:23 ` [PATCH 1/2] parse-options: allow for configuring option abbreviation Ævar Arnfjörð Bjarmason
2019-03-25 21:23 ` Eric Sunshine
2019-03-25 22:47 ` Ævar Arnfjörð Bjarmason
2019-03-26 4:14 ` Duy Nguyen
2019-03-26 6:28 ` Ævar Arnfjörð Bjarmason
2019-03-26 7:13 ` Duy Nguyen
2019-03-26 11:00 ` Ævar Arnfjörð Bjarmason
2019-04-01 10:47 ` Junio C Hamano
2019-04-12 9:06 ` Johannes Schindelin
2019-03-25 20:23 ` [PATCH 2/2] parse-options: don't emit "ambiguous option" for aliases Ævar Arnfjörð Bjarmason
2019-04-17 12:44 ` [PATCH v2] " Ævar Arnfjörð Bjarmason
2019-04-17 16:04 ` Duy Nguyen
2019-04-18 0:48 ` Junio C Hamano
2019-04-18 9:29 ` Duy Nguyen
2019-04-19 4:39 ` Junio C Hamano
2019-04-22 12:22 ` [PATCH] " Nguyễn Thái Ngọc Duy
2019-04-22 12:34 ` Duy Nguyen
2019-04-29 10:05 ` [PATCH v2] " Nguyễn Thái Ngọc Duy
2019-05-07 3:43 ` Junio C Hamano
2019-05-07 11:58 ` Duy Nguyen
2019-04-02 0:58 ` [PATCH 0/8] Do not use abbreviated options in tests Junio C Hamano
2019-04-12 9:37 ` Johannes Schindelin via GitGitGadget [this message]
2019-04-12 9:37 ` [PATCH v2 1/8] tests (rebase): spell out the `--keep-empty` option Johannes Schindelin via GitGitGadget
2019-04-12 9:37 ` [PATCH v2 3/8] t7810: do not abbreviate `--no-exclude-standard` nor `--invert-match` Johannes Schindelin via GitGitGadget
2019-04-12 9:37 ` [PATCH v2 2/8] tests (rebase): spell out the `--force-rebase` option Johannes Schindelin via GitGitGadget
2019-04-12 9:37 ` [PATCH v2 4/8] t5531: avoid using an abbreviated option Johannes Schindelin via GitGitGadget
2019-04-12 9:37 ` [PATCH v2 5/8] tests (push): do not abbreviate the `--follow-tags` option Johannes Schindelin via GitGitGadget
2019-04-12 9:37 ` [PATCH v2 7/8] tests (pack-objects): use the full, unabbreviated `--revs` option Johannes Schindelin via GitGitGadget
2019-04-12 9:37 ` [PATCH v2 6/8] tests (status): spell out the `--find-renames` option in full Johannes Schindelin via GitGitGadget
2019-04-12 9:37 ` [PATCH v2 8/8] tests: disallow the use of abbreviated options (by default) Johannes Schindelin via GitGitGadget
2019-04-14 2:35 ` Junio C Hamano
2019-04-15 2:55 ` Junio C Hamano
2019-04-15 13:09 ` Johannes Schindelin
2019-04-15 13:45 ` Junio C Hamano
2019-04-17 12:07 ` Johannes Schindelin
2019-04-15 13:08 ` Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.167.v2.git.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=liu.denton@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).