Bug 13601 - [master-next & stable/warrior-nmut] oe-selftest-fedora test_devtool_deploy_target failed fedora30-ty-1
Summary: [master-next & stable/warrior-nmut] oe-selftest-fedora test_devtool_deploy_ta...
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 3.0
Hardware: x86 Multiple
: High normal
Target Milestone: 3.1 M1
Assignee: Richard Purdie
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2019-10-20 14:44 UTC by Armin Kuster
Modified: 2019-11-11 15:37 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Don't know


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Armin Kuster 2019-10-20 14:44:08 UTC
Both master-next and stable/warrior-nmut failed:


2019-10-19 18:25:33,133 - oe-selftest - INFO - FAIL: devtool.DevtoolExtractTests.test_devtool_deploy_target (subunit.RemotedTestCase)
2019-10-19 18:25:33,133 - oe-selftest - INFO - ----------------------------------------------------------------------
2019-10-19 18:25:33,133 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/oe-selftest-fedora/build/meta/lib/oeqa/selftest/cases/devtool.py", line 1289, in test_devtool_deploy_target
    self.assertEqual(filelist1, filelist2)
  File "/usr/lib64/python3.7/unittest/case.py", line 852, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/usr/lib64/python3.7/unittest/case.py", line 1058, in assertListEqual
    self.assertSequenceEqual(list1, list2, msg, seq_type=list)
  File "/usr/lib64/python3.7/unittest/case.py", line 1040, in assertSequenceEqual
    self.fail(msg)
  File "/usr/lib64/python3.7/unittest/case.py", line 693, in fail
    raise self.failureException(msg)
AssertionError: Lists differ: ['-rwxr-xr-x 6000 6000 /etc/init.d/mdmonitor', '-rw-r-[10124 chars]n.8'] != ['-rwxr-xr-x root root /etc/init.d/mdmonitor', '-rw-r-[10124 chars]n.8']
First differing element 0:
'-rwxr-xr-x 6000 6000 /etc/init.d/mdmonitor'
'-rwxr-xr-x root root /etc/init.d/mdmonitor'
Comment 1 Randy MacLeod 2019-10-24 14:38:47 UTC
The large value of the UID may be a factor perhaps only when using sstate according to RP.
Comment 2 Richard Purdie 2019-11-06 07:38:04 UTC
This is a pseudo bug. "ls" on fedora30 uses the new statx() syscall via glibc's statx() function which pseudo doesn't wrap. We need to add a function wrapper to avoid this problem.
Comment 3 Richard Purdie 2019-11-06 07:40:11 UTC
To reproduce the issue you can disable the recipe clean in the test, then:

cd /home/pokybuild/yocto-worker/oe-selftest-fedora/build/build/tmp/work/core2-64-poky-linux/mdadm/4.1-r0/image

PSEUDO_PREFIX=/home/pokybuild/yocto-worker/oe-selftest-fedora/build/build/tmp/sysroots-components/x86_64/pseudo-native/usr PSEUDO_LOCALSTATEDIR=/home/pokybuild/yocto-worker/oe-selftest-fedora/build/build/tmp/work/core2-64-poky-linux/mdadm/4.1-r0/pseudo/ PSEUDO_PASSWD=/home/pokybuild/yocto-worker/oe-selftest-fedora/build/build/tmp/work/core2-64-poky-linux/mdadm/4.1-r0/recipe-sysroot:/home/pokybuild/yocto-worker/oe-selftest-fedora/build/build/tmp/sysroots-components/x86_64/pseudo-native PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0 /home/pokybuild/yocto-worker/oe-selftest-fedora/build/build/tmp/sysroots-components/x86_64/pseudo-native/usr/bin/pseudo find . -type f -exec ls -l {} \;

or simply run ls under pseudo/strace and see the statx() syscall.
Comment 4 Richard Purdie 2019-11-06 13:56:45 UTC
Patch undergoing testing in master-next
Comment 6 Armin Kuster 2019-11-11 15:37:10 UTC
(In reply to comment #5)
> http://git.yoctoproject.org/cgit.cgi/poky/commit/
> ?id=4dab6ebbdf5da361c7e1c5ec0b62a5e32f7c6e83

backported to zeus and warrior