Openembedded Core Discussions
 help / color / mirror / Atom feed
From: "Mathieu Dubois-Briand" <mathieu.dubois-briand@bootlin.com>
To: "Anders Heimer" <anders.heimer@est.tech>,
	<openembedded-core@lists.openembedded.org>
Cc: "Daniel Turull" <daniel.turull@ericsson.com>
Subject: Re: [OE-core] [PATCH 6/9] oeqa/oelib: test GitApplyTree patch names
Date: Wed, 24 Jun 2026 09:53:48 +0200	[thread overview]
Message-ID: <DJH48HDNLJIW.EOQTZ79XS7CA@bootlin.com> (raw)
In-Reply-To: <20260623133521.17053-7-anders.heimer@est.tech>

On Tue Jun 23, 2026 at 3:35 PM CEST, Anders Heimer wrote:
> Exercise both the git-am path and the fallback commit path through
> GitApplyTree.Import() and Push(). Verify that refs/notes/devtool records
> the original patch filename and that extractPatches() recreates patches
> with that name.
>
> AI-Generated: Claude Opus 4.6
>
> Reviewed-by: Daniel Turull <daniel.turull@ericsson.com>
> Signed-off-by: Anders Heimer <anders.heimer@est.tech>
> ---

Hi Anders,

Thanks for your patches.

> +    def test_fallback_preserves_original_patch_name(self):
> +        with tempfile.TemporaryDirectory(prefix="oe-gitapply-fallback-") as tmpdir:
> +            patchname = "plain-diff-original-name.patch"
> +            patch = self.make_plain_diff_patch(tmpdir, patchname)
> +            repo = self.make_repo(tmpdir, "target")
> +            tree = RecordingGitApplyTree(repo, PatchTestDataStore(tmpdir))
> +
> +            self.apply_patch(tree, patch)
> +
> +            self.assertTrue(tree.commitpatch_called)
> +            with open(os.path.join(repo, "file.txt")) as f:
> +                self.assertEqual(f.read(), "plain diff change\n")
> +            self.assert_note_and_extract(repo, patchname, "+plain diff change")

It looks like this test is failing on the autobuilder:

2026-06-23 20:45:59,362 - oe-selftest - INFO - oelib.patch.TestGitApplyTree.test_fallback_preserves_original_patch_name (subunit.RemotedTestCase)
2026-06-23 20:45:59,363 - oe-selftest - INFO -  ... FAIL
...
2026-06-23 20:45:59,363 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/oelib/patch.py", line 272, in test_fallback_preserves_original_patch_name
    self.assertEqual(metadata, [
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^
        "Fallback Author",
        ^^^^^^^^^^^^^^^^^^
    ...<3 lines>...
        "2021-01-01T12:34:56+00:00",
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ])
    ^^
  File "/usr/lib/python3.13/unittest/case.py", line 907, in assertEqual
    assertion_func(first, second, msg=msg)
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/case.py", line 1113, in assertListEqual
    self.assertSequenceEqual(list1, list2, msg, seq_type=list)
    ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/unittest/case.py", line 1095, in assertSequenceEqual
    self.fail(msg)
    ~~~~~~~~~^^^^^
  File "/usr/lib/python3.13/unittest/case.py", line 732, in fail
    raise self.failureException(msg)
AssertionError: Lists differ: ['Fal[45 chars] 'OE Test', 'oe-test@example.com', '2021-01-01T12:34:56Z'] != ['Fal[45 chars] 'OE Test', 'oe-test@example.com', '2021-01-01T12:34:56+00:00']

First differing element 4:
'2021-01-01T12:34:56Z'
'2021-01-01T12:34:56+00:00'

  ['Fallback Author',
   'fallback.author@example.com',
   'OE Test',
   'oe-test@example.com',
-  '2021-01-01T12:34:56Z']
?                      ^

+  '2021-01-01T12:34:56+00:00']
?                      ^^^^^^

https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/4191
https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/3961

So for some reason the timezone part of the date is different : Z /
+00:00.

Yet it does work sometimes. It might be related to the host system:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/4130

Can you have a look at the issue?

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



  reply	other threads:[~2026-06-24  7:54 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-23 13:35 [PATCH 0/9] oe/patch: execute patch commands without an implicit shell Anders Heimer
2026-06-23 13:35 ` [PATCH 1/9] oe/patch: drop shell=True from runcmd Anders Heimer
2026-06-23 13:35 ` [PATCH 2/9] oeqa/oelib: add runcmd tests Anders Heimer
2026-06-23 13:35 ` [PATCH 3/9] oe/patch: convert simple runcmd shell callers Anders Heimer
2026-06-23 13:35 ` [PATCH 4/9] oe/patch: avoid shell pipeline in _applypatch Anders Heimer
2026-06-23 13:35 ` [PATCH 5/9] oe/patch: remove obsolete PATCHFILE assignment Anders Heimer
2026-06-23 13:35 ` [PATCH 6/9] oeqa/oelib: test GitApplyTree patch names Anders Heimer
2026-06-24  7:53   ` Mathieu Dubois-Briand [this message]
2026-06-24 10:54     ` [OE-core] " Anders Heimer
2026-06-23 13:35 ` [PATCH 7/9] oe/patch: pass GitApplyTree commands as argv lists Anders Heimer
2026-06-23 13:35 ` [PATCH 8/9] oe/patch: return manual-resolution " Anders Heimer
2026-06-23 13:35 ` [PATCH 9/9] oeqa/oelib: test patch command argv handling Anders Heimer

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=DJH48HDNLJIW.EOQTZ79XS7CA@bootlin.com \
    --to=mathieu.dubois-briand@bootlin.com \
    --cc=anders.heimer@est.tech \
    --cc=daniel.turull@ericsson.com \
    --cc=openembedded-core@lists.openembedded.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox