[OE-core] [PATCHv2 4/4] meta-selftest: wic: Add test for --use-uuid / --fsuuid

Tom Rini trini at konsulko.com
Thu Dec 14 03:15:12 UTC 2017


On Wed, Dec 13, 2017 at 09:45:13PM -0500, Tom Rini wrote:
> On Wed, Dec 13, 2017 at 02:40:34PM +0000, Burton, Ross wrote:
> 
> > I finally made it break locally, with MACHINE=qemux86 and using sysvinit
> > instead of systemd.  Basically, a pristine poky local.conf.  I've not dug
> > into it beyond that, or why it passes with systemd.
> 
> I found it, and, erm, ugh?  Here's what appears to be a systemd vs
> sysvinit difference.  With systemd, if you have an fstab entry and the
> mount point doesn't exist, it will get made.  So an entry of /uuid (a
> very non-HFS and just made up directory) the mount happens.  With
> sysvinit, no, the mount fails.  That's why the test fails.
> 
> My gut reaction is that no, it's not wic's job to ensure that the
> underlying filesystems have all mount points and I should just re-do the
> test to use /mnt instead of /uuid, for the UUID test mount point.

And in fact, systemd just can't be used for oe-selftest and have
everything expect to pass today.  The existing wic.Wic.test_qemu will
fail on /dev/root vs /dev/sda2.  So I'm going to post a v4 that puts the
UUID one into /media, and I've run the tests and they pass atm.  Thanks!

> 
> > 
> > Ross
> > 
> > On 28 November 2017 at 15:55, Tom Rini <trini at konsulko.com> wrote:
> > 
> > > On Fri, Nov 24, 2017 at 10:36:11AM -0500, Tom Rini wrote:
> > > > On Fri, Nov 24, 2017 at 03:28:21PM +0000, Burton, Ross wrote:
> > > > > Still fails on the autobuilder though:
> > > > >
> > > > > 2017-11-24 03:33:51,694 - oe-selftest - INFO - FAIL: test_qemu
> > > (wic.Wic)
> > > > > 2017-11-24 03:33:51,694 - oe-selftest - INFO -
> > > > > ----------------------------------------------------------------------
> > > > > 2017-11-24 03:33:51,694 - oe-selftest - INFO - Traceback (most recent
> > > call
> > > > > last):
> > > > >   File
> > > > > "/home/pokybuild/yocto-autobuilder/yocto-worker/
> > > nightly-oe-selftest/build/meta/lib/oeqa/core/decorator/__init__.py",
> > > > > line 32, in wrapped_f
> > > > >     return func(*args, **kwargs)
> > > > >   File
> > > > > "/home/pokybuild/yocto-autobuilder/yocto-worker/
> > > nightly-oe-selftest/build/meta/lib/oeqa/selftest/cases/wic.py",
> > > > > line 58, in wrapped_f
> > > > >     return func(*args, **kwargs)
> > > > >   File
> > > > > "/home/pokybuild/yocto-autobuilder/yocto-worker/
> > > nightly-oe-selftest/build/meta/lib/oeqa/selftest/cases/wic.py",
> > > > > line 639, in test_qemu
> > > > >     self.assertEqual(output, '/dev/sda1 /boot\r\n/dev/sda2
> > > /\r\n/dev/sda3
> > > > > /mnt\r\n/dev/sda4 /uuid')
> > > > > AssertionError: '/dev/root /\r\n/dev/sda1 /boot\r\n/dev/sda3 /mnt' !=
> > > > > '/dev/sda1 /boot\r\n/dev/sda2 /\r\n/dev/sda3 /mnt\r\n/dev/sda4 /uuid'
> > > > > - /dev/root /
> > > > >   /dev/sda1 /boot
> > > > > + /dev/sda2 /
> > > > > - /dev/sda3 /mnt+ /dev/sda3 /mnt
> > > > > ?               ++
> > > > > + /dev/sda4 /uuid
> > > >
> > > > Erm, that doesn't make any sense:
> > > >
> > > > > > --- a/meta/lib/oeqa/selftest/cases/wic.py
> > > > > > +++ b/meta/lib/oeqa/selftest/cases/wic.py
> > > > > > @@ -633,11 +633,14 @@ part /etc --source rootfs --ondisk mmcblk0
> > > > > --fstype=ext4 --exclude-path bin/ --r
> > > > > >          self.assertEqual(0, bitbake('wic-image-minimal').status)
> > > > > >          self.remove_config(config)
> > > > > >
> > > > > > -        with runqemu('wic-image-minimal', ssh=False) as qemu:
> > > > > > -            cmd = "mount |grep '^/dev/' | cut -f1,3 -d ' '"
> > > > > > +        with runqemu('wic-image-minimal', ssh=False,
> > > > > runqemuparams="nographic") as qemu:
> > > >
> > > > ... I'll v2 since disabling graphics was a local thing, oops.
> > > >
> > > > > > +            cmd = "mount |grep '^/dev/' | cut -f1,3 -d ' ' | sort"
> > > > > > +            status, output = qemu.run_serial(cmd)
> > > > > > +            self.assertEqual(output, '/dev/sda1 /boot\r\n/dev/sda2
> > > > > /\r\n/dev/sda3 /mnt\r\n/dev/sda4 /uuid')
> > > > > > +            cmd = "grep UUID= /etc/fstab"
> > > > > >              status, output = qemu.run_serial(cmd)
> > > > > >              self.assertEqual(1, status, 'Failed to run command
> > > "%s": %s'
> > > > > % (cmd, output))
> > > > > > -            self.assertEqual(output, '/dev/root /\r\n/dev/sda1
> > > > > /boot\r\n/dev/sda3 /mnt')
> > > > > > +            self.assertEqual(output,
> > > > > 'UUID=2c71ef06-a81d-4735-9d3a-379b69c6bdba\t/uuid\text4\
> > > tdefaults\t0\t0')
> > > >
> > > > We no longer want to match the string you've got showing up, and the
> > > > string you have showing up says that /uuid wasn't mounted either.
> > > >
> > > > Can you check the sources in the autobuilder please and make sure the
> > > > whole series got applied correctly?  Thanks!
> > >
> > > Have you had a chance to look at this?  It's really confusing as the
> > > test output is basically the wic-minimal-image without the change that's
> > > included in this patch having been applied (it's 3 partitions).  Thanks!
> > >
> > > --
> > > Tom
> > >
> 
> > -- 
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core at lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
> 
> 
> -- 
> Tom



-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20171213/d8eb1e64/attachment-0002.sig>


More information about the Openembedded-core mailing list