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

Tom Rini trini at konsulko.com
Thu Dec 14 02:45:13 UTC 2017


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.

> 
> 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
-------------- 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/573c587e/attachment-0002.sig>


More information about the Openembedded-core mailing list