Hello, This breaks the overlayfs tests:
https://autobuilder.yoctoproject.org/typhoon/#builders/87/builds/5075/steps/14/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#builders/86/builds/5036/steps/14/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#builders/80/builds/4994/steps/14/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#builders/79/builds/5045/steps/15/logs/stdio On 07/04/2023 16:26:22+0200, Louis Rannou wrote: > Prefer the new function run_serial_socket. Change calls where the modification > is easy. > > Signed-off-by: Louis Rannou <[email protected]> > --- > meta/lib/oeqa/selftest/cases/debuginfod.py | 3 +- > meta/lib/oeqa/selftest/cases/gdbserver.py | 7 ++-- > meta/lib/oeqa/selftest/cases/locales.py | 8 ++--- > meta/lib/oeqa/selftest/cases/overlayfs.py | 42 ++++++++++++++-------- > meta/lib/oeqa/selftest/cases/package.py | 7 ++-- > meta/lib/oeqa/selftest/cases/runqemu.py | 2 +- > 6 files changed, 43 insertions(+), 26 deletions(-) > > diff --git a/meta/lib/oeqa/selftest/cases/debuginfod.py > b/meta/lib/oeqa/selftest/cases/debuginfod.py > index 37f51760fb..2571ce6989 100644 > --- a/meta/lib/oeqa/selftest/cases/debuginfod.py > +++ b/meta/lib/oeqa/selftest/cases/debuginfod.py > @@ -99,7 +99,8 @@ CORE_IMAGE_EXTRA_INSTALL += "elfutils" > % (qemu.server_ip, port) > ) > self.logger.info(f"Starting client {cmd}") > - status, output = qemu.run_serial(cmd) > + status, output = qemu.run_serial_socket(cmd) > + self.assertEqual(0, status) > # This should be more comprehensive > self.assertIn("/.cache/debuginfod_client/", output) > finally: > diff --git a/meta/lib/oeqa/selftest/cases/gdbserver.py > b/meta/lib/oeqa/selftest/cases/gdbserver.py > index 9da97ae780..4f8c7d620f 100644 > --- a/meta/lib/oeqa/selftest/cases/gdbserver.py > +++ b/meta/lib/oeqa/selftest/cases/gdbserver.py > @@ -43,7 +43,8 @@ CORE_IMAGE_EXTRA_INSTALL = "gdbserver" > shutil.unpack_archive(filename, debugfs) > > with runqemu("core-image-minimal", runqemuparams="nographic") as > qemu: > - status, output = qemu.run_serial("kmod --help") > + status, output = qemu.run_serial_socket("kmod --help") > + self.assertEqual(status, 0) > self.assertIn("modprobe", output) > > with concurrent.futures.ThreadPoolExecutor(max_workers=1) as > executor: > @@ -61,7 +62,7 @@ CORE_IMAGE_EXTRA_INSTALL = "gdbserver" > self.fail("Timed out connecting to gdb") > future = executor.submit(run_gdb) > > - status, output = qemu.run_serial("gdbserver --once :9999 > kmod --help") > - self.assertEqual(status, 1) > + status, output = qemu.run_serial_socket("gdbserver > --once :9999 kmod --help") > + self.assertEqual(status, 0) > # The future either returns None, or raises an exception > future.result() > diff --git a/meta/lib/oeqa/selftest/cases/locales.py > b/meta/lib/oeqa/selftest/cases/locales.py > index 4ca8ffb7aa..98026d2c80 100644 > --- a/meta/lib/oeqa/selftest/cases/locales.py > +++ b/meta/lib/oeqa/selftest/cases/locales.py > @@ -27,15 +27,15 @@ class LocalesTest(OESelftestTestCase): > > with runqemu("core-image-minimal", ssh=False, > runqemuparams='nographic') as qemu: > cmd = "locale -a" > - status, output = qemu.run_serial(cmd) > + status, output = qemu.run_serial_socket(cmd) > # output must includes fr_FR or fr_FR.UTF-8 > - self.assertEqual(status, 1, msg='locale test command failed: > output: %s' % output) > + self.assertEqual(status, 0, msg='locale test command failed: > output: %s' % output) > self.assertIn("fr_FR", output, msg='locale -a test failed: > output: %s' % output) > > cmd = "localedef --list-archive -v" > - status, output = qemu.run_serial(cmd) > + status, output = qemu.run_serial_socket(cmd) > # output must includes fr_FR.utf8 > - self.assertEqual(status, 1, msg='localedef test command failed: > output: %s' % output) > + self.assertEqual(status, 0, msg='localedef test command failed: > output: %s' % output) > self.assertIn("fr_FR.utf8", output, msg='localedef test failed: > output: %s' % output) > > def test_locales_on(self): > diff --git a/meta/lib/oeqa/selftest/cases/overlayfs.py > b/meta/lib/oeqa/selftest/cases/overlayfs.py > index b4f0663828..753821490b 100644 > --- a/meta/lib/oeqa/selftest/cases/overlayfs.py > +++ b/meta/lib/oeqa/selftest/cases/overlayfs.py > @@ -183,20 +183,24 @@ EOT > > with runqemu('core-image-minimal') as qemu: > # Check that application service started > - status, output = qemu.run_serial("systemctl status > my-application") > + status, output = qemu.run_serial_socket("systemctl status > my-application") > + self.assertEqual(0, status) > self.assertTrue("active (exited)" in output, msg=output) > > # Check that overlay mounts are dependencies of our application > unit > - status, output = qemu.run_serial("systemctl list-dependencies > my-application") > + status, output = qemu.run_serial_socket("systemctl > list-dependencies my-application") > + self.assertEqual(0, status) > self.assertTrue("overlayfs-user-overlays.service" in output, > msg=output) > > - status, output = qemu.run_serial("systemctl list-dependencies > overlayfs-user-overlays") > + status, output = qemu.run_serial_socket("systemctl > list-dependencies overlayfs-user-overlays") > + self.assertEqual(0, status) > self.assertTrue("usr-share-another\\x2doverlay\\x2dmount.mount" > in output, msg=output) > self.assertTrue("usr-share-my\\x2dapplication.mount" in output, > msg=output) > > # Check that we have /mnt/overlay fs mounted as tmpfs and > # /usr/share/my-application as an overlay (see overlayfs-user > recipe) > - status, output = qemu.run_serial("/bin/mount -t tmpfs,overlay") > + status, output = qemu.run_serial_socket("/bin/mount -t > tmpfs,overlay") > + self.assertEqual(0, status) > > line = getline_qemu(output, "on /mnt/overlay") > self.assertTrue(line and line.startswith("tmpfs"), msg=output) > @@ -360,7 +364,8 @@ OVERLAYFS_ETC_DEVICE = "/dev/sda3" > bitbake('core-image-minimal') > > with runqemu('core-image-minimal', image_fstype='wic') as qemu: > - status, output = qemu.run_serial("/bin/mount") > + status, output = qemu.run_serial_socket("/bin/mount") > + self.assertEqual(0, status) > > line = getline_qemu(output, "upperdir=/data/overlay-etc/upper") > self.assertFalse(line, msg=output) > @@ -393,7 +398,8 @@ OVERLAYFS_ETC_DEVICE = "/dev/sda3" > testFile = "/etc/my-test-data" > > with runqemu('core-image-minimal', image_fstype='wic', > discard_writes=False) as qemu: > - status, output = qemu.run_serial("/bin/mount") > + status, output = qemu.run_serial_socket("/bin/mount") > + self.assertEqual(0, status) > > line = getline_qemu(output, "/dev/sda3") > self.assertTrue("/data" in output, msg=output) > @@ -402,19 +408,24 @@ OVERLAYFS_ETC_DEVICE = "/dev/sda3" > self.assertTrue(line and > line.startswith("/data/overlay-etc/upper on /etc type overlay"), msg=output) > > # check that lower layer is not available > - status, output = qemu.run_serial("ls -1 /data/overlay-etc/lower") > + status, output = qemu.run_serial_socket("ls -1 > /data/overlay-etc/lower") > + self.assertEqual(0, status) > line = getline_qemu(output, "No such file or directory") > self.assertTrue(line, msg=output) > > - status, output = qemu.run_serial("touch " + testFile) > - status, output = qemu.run_serial("sync") > - status, output = qemu.run_serial("ls -1 " + testFile) > + status, output = qemu.run_serial_socket("touch " + testFile) > + self.assertEqual(0, status) > + status, output = qemu.run_serial_socket("sync") > + self.assertEqual(0, status) > + status, output = qemu.run_serial_socket("ls -1 " + testFile) > + self.assertEqual(0, status) > line = getline_qemu(output, testFile) > self.assertTrue(line and line.startswith(testFile), msg=output) > > # Check that file exists in /etc after reboot > with runqemu('core-image-minimal', image_fstype='wic') as qemu: > - status, output = qemu.run_serial("ls -1 " + testFile) > + status, output = qemu.run_serial_socket("ls -1 " + testFile) > + self.assertEqual(0, status) > line = getline_qemu(output, testFile) > self.assertTrue(line and line.startswith(testFile), msg=output) > > @@ -446,14 +457,17 @@ IMAGE_INSTALL:append = " overlayfs-user" > bitbake('core-image-minimal') > > with runqemu('core-image-minimal', image_fstype='wic') as qemu: > - status, output = qemu.run_serial("echo \"Modified in upper\" > > /etc/" + testFile) > - status, output = qemu.run_serial("diff /etc/" + testFile + " > /data/overlay-etc/lower/" + testFile) > + status, output = qemu.run_serial_socket("echo \"Modified in > upper\" > /etc/" + testFile) > + self.assertEqual(0, status) > + status, output = qemu.run_serial_socket("diff /etc/" + testFile > + " /data/overlay-etc/lower/" + testFile) > + self.assertEqual(0, status) > line = getline_qemu(output, "Modified in upper") > self.assertTrue(line, msg=output) > line = getline_qemu(output, "Original file") > self.assertTrue(line, msg=output) > > - status, output = qemu.run_serial("touch > /data/overlay-etc/lower/ro-test.txt") > + status, output = qemu.run_serial_socket("touch > /data/overlay-etc/lower/ro-test.txt") > + self.assertEqual(0, status) > line = getline_qemu(output, "Read-only file system") > self.assertTrue(line, msg=output) > > diff --git a/meta/lib/oeqa/selftest/cases/package.py > b/meta/lib/oeqa/selftest/cases/package.py > index 1aa6c03f8a..78e8a4c26b 100644 > --- a/meta/lib/oeqa/selftest/cases/package.py > +++ b/meta/lib/oeqa/selftest/cases/package.py > @@ -135,7 +135,8 @@ class PackageTests(OESelftestTestCase): > Check that gdb ``binary`` to read symbols from separated debug > file > """ > self.logger.info("gdbtest %s" % binary) > - status, output = qemu.run_serial('/usr/bin/gdb.sh %s' % binary, > timeout=60) > + status, output = qemu.run_serial_socket('/usr/bin/gdb.sh %s' % > binary, timeout=60) > + self.assertEqual(0, status) > for l in output.split('\n'): > # Check debugging symbols exists > if '(no debugging symbols found)' in l: > @@ -166,8 +167,8 @@ class PackageTests(OESelftestTestCase): > > def check_ownership(qemu, expected_gid, expected_uid, path): > self.logger.info("Check ownership of %s", path) > - status, output = qemu.run_serial('stat -c "%U %G" ' + path) > - self.assertEqual(status, 1, "stat failed: " + output) > + status, output = qemu.run_serial_socket('stat -c "%U %G" ' + > path) > + self.assertEqual(status, 0, "stat failed: " + output) > try: > uid, gid = output.split() > self.assertEqual(uid, expected_uid) > diff --git a/meta/lib/oeqa/selftest/cases/runqemu.py > b/meta/lib/oeqa/selftest/cases/runqemu.py > index f01e1eec66..be1481a82e 100644 > --- a/meta/lib/oeqa/selftest/cases/runqemu.py > +++ b/meta/lib/oeqa/selftest/cases/runqemu.py > @@ -183,7 +183,7 @@ class QemuTest(OESelftestTestCase): > # (such as the exception "Console connection closed unexpectedly") > # as qemu will disappear when we shut it down > qemu.runner.allowexit() > - qemu.run_serial("shutdown -h now") > + qemu.run_serial_socket("shutdown -h now") > time_track = 0 > try: > while True: > -- > 2.40.0 > > > > -- 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 (#179836): https://lists.openembedded.org/g/openembedded-core/message/179836 Mute This Topic: https://lists.openembedded.org/mt/98125364/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
