All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: "Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
	git@vger.kernel.org, "Lénaïc Huard" <lenaic@lhuard.fr>,
	"Eric Sunshine" <sunshine@sunshineco.com>
Subject: Re: [PATCH v2] maintenance tests: fix systemd v2.34.0-rc* test regression
Date: Thu, 11 Nov 2021 09:45:52 -0800	[thread overview]
Message-ID: <xmqqsfw2mvqn.fsf@gitster.g> (raw)
In-Reply-To: <211110.86ilx0gdx8.gmgdl@evledraar.gmail.com> (=?utf-8?B?IsOG?= =?utf-8?B?dmFyIEFybmZqw7Zyw7A=?= Bjarmason"'s message of "Wed, 10 Nov 2021 17:22:09 +0100")

Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:

> On Wed, Nov 10 2021, Johannes Schindelin wrote:
>
>> Hi Ævar,
>>
>> On Wed, 10 Nov 2021, Ævar Arnfjörð Bjarmason wrote:
>>
>>> Fix tests added in b681b191f92 (maintenance: add support for systemd
>>> timers on Linux, 2021-09-04) to run successfully on systems where
>>> systemd-analyze is installed, but on which there's a discrepancy
>>> between a FILE argument of "/lib/systemd/system/basic.target" and
>>> "systemd/user/git-maintenance@.service" succeeding.
>>
>> Could you try to rephrase `there's a discrepancy between a FILE argument
>> of "/lib/systemd/system/basic.target" and
>> "systemd/user/git-maintenance@.service" succeeding` more clearly?
>
> Sure. Briefly to test if X works our prereq should test if X can work,
> not if Y can work. Will try to update it.

Thanks.

>>>  test_systemd_analyze_verify () {
>>> -	if test_have_prereq SYSTEMD_ANALYZE
>>> -	then
>>> -		systemd-analyze verify "$@"
>>> -	fi
>>> +	# Ignoring any errors from systemd-analyze is intentional
>>> +	systemd-analyze verify "$@" >systemd.out 2>systemd.err;
>>
>> The semicolon is superfluous.
>
> We use it in other places as shorthand for "I mean to not have && here".

That is news to me (not the presense of unnecessary semicolons; I do
not think we have "when you want to make it clear that you
deliberately did not write &&, write ;" in any of the guidelines,
and I am not sure if such a guideline is a good idea).

>> It is a bit sad that we're now doing unnecessary work when
>> `systemd-analyze` does not even exist.
>
> It's a chicken & egg problem. How do you figure out if you're able to
> run the command & get the output you expect without doing that?

I read "It is a bit sad" to imply "... but it probalby is the best
we can do, and more importantly, it is not worse than the problem it
is solving".

> +		-e '/git-maintenance@i*\.service:/x' \
>>
>> Lines containing `git-maintenance@.service:` (or the same pattern with an
>> arbitrary number of `i`s after the `@` character???) are exchanged with
>> hold space.
>>
>> That does not look right.
>
> It'll emit @.service or @i.service. I have no idea why, yeah the regex
> is overly generous, but it doesn't hurt anything in this case (see
> below)>
>
>> Since this is a `sed -n` call, we would need an explicit `p` command to
>> print anything. Therefore, the current code is a pretty expensive
>> equivalent to calling `true >&6`: it succeeds, and it does not print
>> anything.
>
> Yes, like the buggy "if the prereq succeeds" code it replaced.

If both are buggy, then there is no point replacing old with new.
Let's have a non-buggy improved new and replace buggy old with it ;-)

> Because I really don't know. Is it broken on literally one machine in
> the world that I happened to have tested on, or more generally on the
> sorts of OS version/whatever that has that systemd? No idea.
>
> But the worst we'll do here is not run a test on some obscure setup.
>
> Since the value of having the test is there if we just run it on some
> setups that's fine. We should lean towards over-suppressing it to not
> have "make test" in v2.34.0 fail on some platforms.

Hmph, if we _know_ (or _think_) the platforms that would fail a
particular test is rare enough *and* if we know we _don't_
understand why the test fails on them, wouldn't we want to know the
extent of the damage first by not suppressing the test and let it
break on these platforms that may help us after the release to
understand the breakage and deal with it?  The resolution may end up
to suppress the test after all, but with the approach we can do so
knowing why we are doing so, no?

This is different from OpenSSH 8.7 thing that we _know_ why the test
breaks, and we _know_ that there will be tons of instances with that
broken version.  Suppressing the test for them does make sense.

Thanks.

  reply	other threads:[~2021-11-11 17:46 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-26  3:48 What's cooking in git.git (Oct 2021, #06; Mon, 25) Junio C Hamano
2021-10-26  5:25 ` Jeff King
2021-10-27 17:42   ` Junio C Hamano
2021-10-31 18:36   ` Kaartic Sivaraam
2021-11-01  4:04     ` Jeff King
2021-10-26 11:02 ` pre-v2.34.0-rc0 regressions: t7900-maintenance.sh broken due to 'systemd-analyze' (was: What's cooking in git.git (Oct 2021, #06; Mon, 25)) Ævar Arnfjörð Bjarmason
2021-10-26 15:34   ` Ævar Arnfjörð Bjarmason
2021-10-26 18:43     ` Eric Sunshine
2021-11-02 14:24   ` [PATCH] maintenance tests: fix systemd v2.34.0-rc* test regression Ævar Arnfjörð Bjarmason
2021-11-03  5:09     ` Eric Sunshine
2021-11-10  3:52     ` [PATCH v2] " Ævar Arnfjörð Bjarmason
2021-11-10 13:36       ` Johannes Schindelin
2021-11-10 16:22         ` Ævar Arnfjörð Bjarmason
2021-11-11 17:45           ` Junio C Hamano [this message]
2021-10-26 11:15 ` pre-v2.34.0-rc0 regressions: 'git log' has a noisy iconv() warning (was: What's cooking in git.git (Oct 2021, #06; Mon, 25)) Ævar Arnfjörð Bjarmason
2021-10-27 11:14   ` Jeff King
2021-10-27 18:04     ` pre-v2.34.0-rc0 regressions: 'git log' has a noisy iconv() warning Junio C Hamano
2021-10-28 17:30       ` Jeff King
2021-10-28 19:02         ` Junio C Hamano
2021-10-28 19:17           ` Jeff King
2021-10-26 12:13 ` tb/plug-pack-bitmap-leaks (was: What's cooking in git.git (Oct 2021, #06; Mon, 25)) Ævar Arnfjörð Bjarmason
2021-10-26 21:04   ` Taylor Blau
2021-10-26 12:17 ` jc/branch-copy-doc " Ævar Arnfjörð Bjarmason
2021-10-26 12:42 ` What's cooking in git.git (Oct 2021, #06; Mon, 25) Derrick Stolee
2021-10-26 14:55   ` Ævar Arnfjörð Bjarmason
2021-10-26 17:27     ` Victoria Dye
2021-10-26 21:29       ` Junio C Hamano
2021-10-26 21:28   ` Junio C Hamano
2021-10-26 21:54     ` Derrick Stolee
2021-10-26 22:21 ` regression in ns/tmp-objdir and ns/batched-fsync Neeraj Singh
2021-10-27 19:17 ` What's cooking in git.git (Oct 2021, #06; Mon, 25) Martin Ågren
2021-10-28  0:06   ` Junio C Hamano

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=xmqqsfw2mvqn.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=lenaic@lhuard.fr \
    --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.