diff mbox series

[2/7] selftest/sstatetests: fix up printdiff test to match rework of printdiff logic

Message ID 20231218084403.599015-2-alex@linutronix.de
State Accepted, archived
Commit 0ef7cf324718412c5b6c376acfbc4079ecd7d465
Headers show
Series [1/7] bitbake/runqueue: rework 'bitbake -S printdiff' logic | expand

Commit Message

Alexander Kanavin Dec. 18, 2023, 8:43 a.m. UTC
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%)

Comments

Alexandre Belloni Jan. 1, 2024, 1 p.m. UTC | #1
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]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin Jan. 1, 2024, 6:27 p.m. UTC | #2
RP has reported the same issue elsewhere:
https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/6254/steps/14/logs/stdio

  File "/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/bitbake/lib/bb/runqueue.py",
line 1799, in RunQueue.write_diffscenetasks(invalidtasks={'/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-core/gettext/gettext-minimal-native_0.22.4.bb:do_configure',
'virtual:native:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-devtools/gnu-config/gnu-config_git.bb:do_configure',
'virtual:native:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-extended/zstd/zstd_1.5.5.bb:do_configure',
'/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb:do_configure',
'virtual:native:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-extended/unzip/unzip_6.0.bb:do_configure',
'/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb:do_configure',
'virtual:native:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb:do_configure',
'virtual:native:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-extended/pigz/pigz_2.8.bb:do_configure',
'virtual:native:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb:do_configure',
'/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-extended/timezone/tzcode-native.bb:do_configure'}):
                 if matches:
    >                latestmatch = matches[sorted(matches.keys(),
key=lambda h: matches[h]['time'])[-1]]['path']
                     prevh = __find_sha256__.search(latestmatch).group(0)
TypeError: '<' not supported between instances of 'NoneType' and 'float'

It seems as though some of the entries lack timestamp information,
probably because obtaining it from the filesystem had failed and the
code placed 'None' into the data structure instead. I'll take a look
at why that isn't reported sooner.

Alex

On Mon, 1 Jan 2024 at 14:00, Alexandre Belloni
<alexandre.belloni@bootlin.com> wrote:
>
> 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
Alexander Kanavin Jan. 2, 2024, 2:51 p.m. UTC | #3
I just sent a patch for this:
"lib/sstatesig/find_siginfo: raise an error instead of returning None
when obtaining mtime"

It will not fix the issue, but it will get better diagnostics (the
error can be suppressed, but it's something that shouldn't be
happening, so I want to see what is really the issue).

Alex

On Mon, 1 Jan 2024 at 19:27, Alexander Kanavin via
lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org>
wrote:
>
> RP has reported the same issue elsewhere:
> https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/6254/steps/14/logs/stdio
>
>   File "/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/bitbake/lib/bb/runqueue.py",
> line 1799, in RunQueue.write_diffscenetasks(invalidtasks={'/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-core/gettext/gettext-minimal-native_0.22.4.bb:do_configure',
> 'virtual:native:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-devtools/gnu-config/gnu-config_git.bb:do_configure',
> 'virtual:native:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-extended/zstd/zstd_1.5.5.bb:do_configure',
> '/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb:do_configure',
> 'virtual:native:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-extended/unzip/unzip_6.0.bb:do_configure',
> '/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb:do_configure',
> 'virtual:native:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb:do_configure',
> 'virtual:native:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-extended/pigz/pigz_2.8.bb:do_configure',
> 'virtual:native:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb:do_configure',
> '/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/recipes-extended/timezone/tzcode-native.bb:do_configure'}):
>                  if matches:
>     >                latestmatch = matches[sorted(matches.keys(),
> key=lambda h: matches[h]['time'])[-1]]['path']
>                      prevh = __find_sha256__.search(latestmatch).group(0)
> TypeError: '<' not supported between instances of 'NoneType' and 'float'
>
> It seems as though some of the entries lack timestamp information,
> probably because obtaining it from the filesystem had failed and the
> code placed 'None' into the data structure instead. I'll take a look
> at why that isn't reported sooner.
>
> Alex
>
> On Mon, 1 Jan 2024 at 14:00, Alexandre Belloni
> <alexandre.belloni@bootlin.com> wrote:
> >
> > 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
> > >
> >
> > >
> > >
> > >
> >
> >
> > --
> > Alexandre Belloni, co-owner and COO, Bootlin
> > Embedded Linux and Kernel engineering
> > https://bootlin.com
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#193189): https://lists.openembedded.org/g/openembedded-core/message/193189
> Mute This Topic: https://lists.openembedded.org/mt/103239347/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

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",