All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Alexander Kanavin <alex.kanavin@gmail.com>
Cc: openembedded-core@lists.openembedded.org,
	Alexander Kanavin <alex@linutronix.de>
Subject: Re: [OE-core] [PATCH 2/7] selftest/sstatetests: fix up printdiff test to match rework of printdiff logic
Date: Mon, 1 Jan 2024 14:00:31 +0100	[thread overview]
Message-ID: <20240101130031da8cf15c@mail.local> (raw)
In-Reply-To: <20231218084403.599015-2-alex@linutronix.de>

Hello,

I've been carrying the series for a while without any issue but got this
yesterday:
https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/6262/steps/14/logs/stdio


On 18/12/2023 09:43:58+0100, Alexander Kanavin wrote:
> Other than the formatting changes, there are two functional ones:
> 
> - use perlcross instead of quilt, as quilt is special in the sense
> of being excluded from task hash calculcations. perlcross is a full
> participant.
> 
> - run the full test (local + sstate) for gcc do_preconfiure change
> as the necessary fix has been implemented
> (sstatesig/find_siginfo: special-case gcc-source when looking in sstate caches)
> 
> Note that when several tasks are found to have changed (as is the case
> when base do_configure is adjusted), find_siginfo() runs
> glob.glob("*/*/*taskname*") against autobuilder sstate cache for each
> of those tasks (six or seven times). This is an expensive operation
> taking several minutes. I left it in for now, but if it's proven too slow
> the test would have to be reduced to checking a specific base recipe
> (e.g. zstd-native) rather than a distant image target.
> 
> [YOCTO #15289]
> 
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  .../perlcross_%.bbappend}                     |  0
>  meta/lib/oeqa/selftest/cases/sstatetests.py   | 22 +++++++++++--------
>  2 files changed, 13 insertions(+), 9 deletions(-)
>  rename meta-selftest/recipes-test/{quilt-native/quilt-native_%.bbappend => perlcross/perlcross_%.bbappend} (100%)
> 
> diff --git a/meta-selftest/recipes-test/quilt-native/quilt-native_%.bbappend b/meta-selftest/recipes-test/perlcross/perlcross_%.bbappend
> similarity index 100%
> rename from meta-selftest/recipes-test/quilt-native/quilt-native_%.bbappend
> rename to meta-selftest/recipes-test/perlcross/perlcross_%.bbappend
> diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py b/meta/lib/oeqa/selftest/cases/sstatetests.py
> index f827615ba1b..6af3c8f2178 100644
> --- a/meta/lib/oeqa/selftest/cases/sstatetests.py
> +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py
> @@ -824,14 +824,16 @@ TMPDIR = "${{TOPDIR}}/tmp-sstateprintdiff-difftmp-{}"
>  
>  
>      # Check if printdiff walks the full dependency chain from the image target to where the change is in a specific recipe
> -    def test_image_minimal_vs_quilt(self):
> -        expected_output = ("Task quilt-native:do_install couldn't be used from the cache because:",
> +    def test_image_minimal_vs_perlcross(self):
> +        expected_output = ("Task perlcross-native:do_install couldn't be used from the cache because:",
>  "We need hash",
>  "most recent matching task was")
> -        expected_sametmp_output = expected_output + ("Variable do_install value changed",'+    echo "this changes the task signature"')
> +        expected_sametmp_output = expected_output + (
> +"Variable do_install value changed",
> +'+    echo "this changes the task signature"')
>          expected_difftmp_output = expected_output
>  
> -        self.run_test_printdiff_changerecipe("core-image-minimal", "quilt-native", "-c do_install quilt-native",
> +        self.run_test_printdiff_changerecipe("core-image-minimal", "perlcross", "-c do_install perlcross-native",
>  """
>  do_install:append() {
>      echo "this changes the task signature"
> @@ -846,10 +848,10 @@ expected_sametmp_output, expected_difftmp_output)
>          expected_output = ("Task {}:do_preconfigure couldn't be used from the cache because:".format(gcc_source_pn),
>  "We need hash",
>  "most recent matching task was")
> -        expected_sametmp_output = expected_output + ("Variable do_preconfigure value changed",'+    print("this changes the task signature")')
> -        #FIXME: printdiff is supposed to find at least one preconfigure task signature in the sstate cache, but isn't able to
> -        #expected_difftmp_output = expected_output
> -        expected_difftmp_output = ()
> +        expected_sametmp_output = expected_output + (
> +"Variable do_preconfigure value changed",
> +'+    print("this changes the task signature")')
> +        expected_difftmp_output = expected_output
>  
>          self.run_test_printdiff_changerecipe("gcc-runtime", "gcc-source", "-c do_preconfigure {}".format(gcc_source_pn),
>  """
> @@ -873,7 +875,9 @@ expected_sametmp_output, expected_difftmp_output)
>  "Task gnu-config-native:do_configure couldn't be used from the cache because:",
>  "We need hash",
>  "most recent matching task was")
> -        expected_sametmp_output = expected_output + ("Variable base_do_configure value changed",'+	echo "this changes base_do_configure() definiton "')
> +        expected_sametmp_output = expected_output + (
> +"Variable base_do_configure value changed",
> +'+	echo "this changes base_do_configure() definiton "')
>          expected_difftmp_output = expected_output
>  
>          self.run_test_printdiff_changeconfig("core-image-minimal",
> -- 
> 2.39.2
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#192613): https://lists.openembedded.org/g/openembedded-core/message/192613
> Mute This Topic: https://lists.openembedded.org/mt/103239347/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 


-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


  reply	other threads:[~2024-01-01 13:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-18  8:43 [PATCH 1/7] bitbake/runqueue: rework 'bitbake -S printdiff' logic Alexander Kanavin
2023-12-18  8:43 ` [PATCH 2/7] selftest/sstatetests: fix up printdiff test to match rework of printdiff logic Alexander Kanavin
2024-01-01 13:00   ` Alexandre Belloni [this message]
2024-01-01 18:27     ` [OE-core] " Alexander Kanavin
     [not found]     ` <17A64C894AA0CBF1.19767@lists.openembedded.org>
2024-01-02 14:51       ` Alexander Kanavin
2023-12-18  8:43 ` [PATCH 3/7] sstatesig/find_siginfo: unify a disjointed API Alexander Kanavin
2024-01-05 11:22   ` [OE-core] " Richard Purdie
2024-01-05 11:42     ` Alexander Kanavin
2024-01-05 12:02       ` Richard Purdie
2023-12-18  8:44 ` [PATCH 4/7] bitbake-diffsigs/runqueue: adapt to reworked find_siginfo() Alexander Kanavin
2023-12-18  8:44 ` [PATCH 5/7] bitbake/runqueue: prioritize local stamps over sstate signatures in printdiff Alexander Kanavin
2023-12-18  8:44 ` [PATCH 6/7] bitbake/runqueue: add debugging for find_siginfo() calls Alexander Kanavin
2023-12-18  8:44 ` [PATCH 7/7] selftest/sstatetest: re-enable gcc printdiff test Alexander Kanavin

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=20240101130031da8cf15c@mail.local \
    --to=alexandre.belloni@bootlin.com \
    --cc=alex.kanavin@gmail.com \
    --cc=alex@linutronix.de \
    --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 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.