From: Junio C Hamano <gitster@pobox.com>
To: "Leon Michalak via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org,
Kristoffer Haugsbakk <kristofferhaugsbakk@fastmail.com>,
Eric Sunshine <sunshine@sunshineco.com>,
Christian Couder <christian.couder@gmail.com>,
Phillip Wood <phillip.wood123@gmail.com>,
Leon Michalak <leonmichalak6@gmail.com>
Subject: Re: [PATCH v3 2/4] test: use "test_config"
Date: Mon, 30 Jun 2025 09:35:22 -0700 [thread overview]
Message-ID: <xmqqjz4t2nn9.fsf@gitster.g> (raw)
In-Reply-To: <e5c40d37750fe7effa95e8bf2cc24945150364d7.1751128487.git.gitgitgadget@gmail.com> (Leon Michalak via GitGitGadget's message of "Sat, 28 Jun 2025 16:34:44 +0000")
"Leon Michalak via GitGitGadget" <gitgitgadget@gmail.com> writes:
> From: Leon Michalak <leonmichalak6@gmail.com>
>
> Use the modern "test_config" test utility instead of manual"git config"
> as the former provides clean up on test completion.
Here "completion" is not "all the tests in the script are done", but
"each of the test_expect_{success,failure} piece that uses test_config".
Drop "modern". It was invented 14 years ago (the same can be said
for test_grep which was called test_i18ngrep and had an extra
purpose, which was invented in the same year).
This conversion, unlike "test_grep" needs to be done a bit
carefully. The fact the configuration is removed after the test
piece "test_config" was used means any tests after the test that was
originally using "git config" needs to be inspected to make sure
it was *not* relying on the value that was left by the previous
test piece.
For example...
> test_expect_success 'diff.context honored by "log"' '
> git log -1 -p >output &&
> test_grep ! firstline output &&
> - git config diff.context 8 &&
> + test_config diff.context 8 &&
> git log -1 -p >output &&
> test_grep "^ firstline" output
> '
... the test piece after this one may have assumed (wrongly! The
assumption does not hold if this test failed before reaching "git
config") that diff.context is still set to 8 but that is no longer
the case. But that one is OK because ...
> test_expect_success 'The -U option overrides diff.context' '
> - git config diff.context 8 &&
> + test_config diff.context 8 &&
> git log -U4 -1 >output &&
> test_grep ! "^ firstline" output
> '
... it was setting it for itself. The same can be said with other
tests (not quoted in this reply). They all set things up for
themselves, which is a good hygiene.
That means the last one in the patch needs to be inspected
carefully. We do not know from the post-context of the patch what
the next test used to expect.
> test_expect_success '-U0 is valid, so is diff.context=0' '
> - git config diff.context 0 &&
> + test_config diff.context 0 &&
> git diff >output &&
> test_grep "^-ADDED" output &&
> test_grep "^+MODIFIED" output
The one that comes after this one is about giving an explicit
command line option -U<n>. It should not be affected by a
diff.context conffiguration variable that is lower-precedence
so we should be OK.
Thanks.
next prev parent reply other threads:[~2025-06-30 16:35 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-05 9:18 [PATCH 0/3] Better support for customising context lines in --patch commands Leon Michalak via GitGitGadget
2025-05-05 9:18 ` [PATCH 1/3] add-patch: respect diff.context configuration Leon Michalak via GitGitGadget
2025-05-05 20:29 ` Eric Sunshine
2025-05-06 8:55 ` Phillip Wood
2025-05-06 17:29 ` Junio C Hamano
2025-05-05 9:18 ` [PATCH 2/3] add-patch: add diff.context command line overrides Leon Michalak via GitGitGadget
2025-05-05 9:49 ` Kristoffer Haugsbakk
[not found] ` <CAP9jKjHj7WP91aKA9SE94zYj+naBGLUs99mF3G4BhTGcGjFDUQ@mail.gmail.com>
2025-05-05 10:11 ` Leon Michalak
2025-05-07 9:51 ` Phillip Wood
2025-05-07 18:07 ` Junio C Hamano
2025-05-07 18:28 ` Leon Michalak
2025-05-07 20:25 ` Junio C Hamano
2025-05-05 9:18 ` [PATCH 3/3] add-interactive: add new "context" subcommand Leon Michalak via GitGitGadget
2025-05-06 0:02 ` Eric Sunshine
2025-05-06 7:20 ` Leon Michalak
2025-05-06 8:28 ` Christian Couder
2025-05-06 17:07 ` Leon Michalak
2025-05-06 16:37 ` Junio C Hamano
2025-05-06 17:25 ` Leon Michalak
2025-05-07 13:30 ` Phillip Wood
2025-05-07 19:10 ` Junio C Hamano
2025-05-10 13:46 ` [PATCH v2 0/4] Better support for customising context lines in --patch commands Leon Michalak via GitGitGadget
2025-05-10 13:46 ` [PATCH v2 1/4] test: refactor to use "test_grep" Leon Michalak via GitGitGadget
2025-05-12 13:42 ` Junio C Hamano
2025-05-12 16:58 ` Leon Michalak
2025-05-10 13:46 ` [PATCH v2 2/4] test: refactor to use "test_config" Leon Michalak via GitGitGadget
2025-05-10 13:46 ` [PATCH v2 3/4] add-patch: respect diff.context configuration Leon Michalak via GitGitGadget
2025-05-13 13:52 ` Phillip Wood
2025-05-13 15:47 ` Junio C Hamano
2025-05-14 15:13 ` Phillip Wood
2025-05-15 12:58 ` Junio C Hamano
2025-05-10 13:46 ` [PATCH v2 4/4] add-patch: add diff.context command line overrides Leon Michalak via GitGitGadget
2025-05-12 16:45 ` Junio C Hamano
2025-05-12 17:03 ` Leon Michalak
2025-05-13 13:52 ` Phillip Wood
2025-05-13 14:39 ` Phillip Wood
2025-05-13 15:05 ` Leon Michalak
2025-05-14 15:13 ` phillip.wood123
2025-06-28 16:34 ` [PATCH v3 0/4] Better support for customising context lines in --patch commands Leon Michalak via GitGitGadget
2025-06-28 16:34 ` [PATCH v3 1/4] test: use "test_grep" Leon Michalak via GitGitGadget
2025-06-30 16:23 ` Junio C Hamano
2025-06-28 16:34 ` [PATCH v3 2/4] test: use "test_config" Leon Michalak via GitGitGadget
2025-06-30 16:35 ` Junio C Hamano [this message]
2025-06-28 16:34 ` [PATCH v3 3/4] add-patch: respect diff.context configuration Leon Michalak via GitGitGadget
2025-06-30 16:55 ` Junio C Hamano
2025-07-01 10:00 ` Phillip Wood
2025-06-28 16:34 ` [PATCH v3 4/4] add-patch: add diff.context command line overrides Leon Michalak via GitGitGadget
2025-06-30 17:03 ` Junio C Hamano
2025-07-01 9:59 ` Phillip Wood
2025-07-01 15:54 ` Junio C Hamano
2025-07-02 14:07 ` Phillip Wood
2025-07-02 18:28 ` Junio C Hamano
2025-07-01 9:59 ` Phillip Wood
2025-06-30 16:16 ` [PATCH v3 0/4] Better support for customising context lines in --patch commands Junio C Hamano
2025-07-09 0:09 ` Junio C Hamano
2025-07-09 7:57 ` Leon Michalak
2025-07-09 15:32 ` Junio C Hamano
2025-07-19 12:28 ` [PATCH v4 " Leon Michalak via GitGitGadget
2025-07-19 12:28 ` [PATCH v4 1/4] t: use test_grep in t3701 and t4055 Leon Michalak via GitGitGadget
2025-07-19 12:28 ` [PATCH v4 2/4] t: use test_config in t4055 Leon Michalak via GitGitGadget
2025-07-19 12:28 ` [PATCH v4 3/4] add-patch: respect diff.context configuration Leon Michalak via GitGitGadget
2025-07-19 12:28 ` [PATCH v4 4/4] add-patch: add diff.context command line overrides Leon Michalak via GitGitGadget
2025-07-22 16:01 ` Phillip Wood
2025-07-22 18:02 ` Leon Michalak
2025-07-22 18:05 ` Leon Michalak
2025-07-23 9:41 ` Phillip Wood
2025-07-21 16:50 ` [PATCH v4 0/4] Better support for customising context lines in --patch commands Junio C Hamano
2025-07-22 16:05 ` Phillip Wood
2025-07-22 17:20 ` Junio C Hamano
2025-07-29 7:01 ` [PATCH v5 " Leon Michalak via GitGitGadget
2025-07-29 7:01 ` [PATCH v5 1/4] t: use test_grep in t3701 and t4055 Leon Michalak via GitGitGadget
2025-07-29 7:01 ` [PATCH v5 2/4] t: use test_config in t4055 Leon Michalak via GitGitGadget
2025-07-29 7:01 ` [PATCH v5 3/4] add-patch: respect diff.context configuration Leon Michalak via GitGitGadget
2025-07-29 7:01 ` [PATCH v5 4/4] add-patch: add diff.context command line overrides Leon Michalak via GitGitGadget
2025-07-29 15:21 ` [PATCH v5 0/4] Better support for customising context lines in --patch commands Phillip Wood
2025-07-29 15:55 ` Junio C Hamano
2025-07-29 16:18 ` Leon Michalak
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqjz4t2nn9.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=kristofferhaugsbakk@fastmail.com \
--cc=leonmichalak6@gmail.com \
--cc=phillip.wood123@gmail.com \
--cc=sunshine@sunshineco.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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.