public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Anton Mikanovich <amikan@ilbers.de>
To: isar-users@googlegroups.com
Cc: Anton Mikanovich <amikan@ilbers.de>
Subject: [PATCH v3 1/8] CI: Do not lose output on bitbake / qemu exit
Date: Fri, 11 Oct 2024 13:00:43 +0300	[thread overview]
Message-ID: <20241011100050.322686-2-amikan@ilbers.de> (raw)
In-Reply-To: <20241011100050.322686-1-amikan@ilbers.de>

If bitbake or qemu exit before we completely read their stdout/stderr,
messages are lost. With this change, we read the subprocess output
before terminating ourselves.

Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
 testsuite/cibuilder.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py
index 4a605f50..0d0de99e 100755
--- a/testsuite/cibuilder.py
+++ b/testsuite/cibuilder.py
@@ -257,7 +257,7 @@ class CIBuilder(Test):
             poller = select.poll()
             poller.register(p1.stdout, select.POLLIN)
             poller.register(p1.stderr, select.POLLIN)
-            while p1.poll() is None:
+            while True:
                 events = poller.poll(1000)
                 for fd, event in events:
                     if event != select.POLLIN:
@@ -266,6 +266,8 @@ class CIBuilder(Test):
                         self.log.info(p1.stdout.readline().rstrip())
                     if fd == p1.stderr.fileno():
                         app_log.error(p1.stderr.readline().rstrip())
+                if p1.poll() is not None:
+                    break
             p1.wait()
             if p1.returncode:
                 self.fail("Bitbake failed")
@@ -533,7 +535,7 @@ class CIBuilder(Test):
         databuf = bytearray(b'')
         databuf_size = 1024 * 2 + len(login_prompt)
 
-        while time.time() < timeout and p1.poll() is None:
+        while time.time() < timeout:
             events = poller.poll(1000 * (timeout - time.time()))
             for fd, event in events:
                 if event != select.POLLIN:
@@ -547,6 +549,8 @@ class CIBuilder(Test):
                         return 0
                 if fd == p1.stderr.fileno():
                     app_log.error(p1.stderr.readline().rstrip())
+            if p1.poll() is not None:
+                break
 
         self.log.error("Didn't get login prompt")
         return 1
-- 
2.34.1

-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/isar-users/20241011100050.322686-2-amikan%40ilbers.de.

  reply	other threads:[~2024-10-11 10:01 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-11 10:00 [PATCH v3 0/8] Hanging mount fixes Anton Mikanovich
2024-10-11 10:00 ` Anton Mikanovich [this message]
2024-10-11 10:00 ` [PATCH v3 2/8] isar-events: Unhide mounts left behind Anton Mikanovich
2024-10-11 10:00 ` [PATCH v3 3/8] CI: Pass ISAR_FAIL_ON_CLEANUP from environment to bitbake Anton Mikanovich
2024-10-11 10:00 ` [PATCH v3 4/8] image: Avoid breaking the build when mounts are no longer present on umount Anton Mikanovich
2024-10-11 10:00 ` [PATCH v3 5/8] rootfs: Provide rootfs_do_umounts Anton Mikanovich
2024-10-11 10:00 ` [PATCH v3 6/8] initramfs: Add missing umounts after generation Anton Mikanovich
2024-10-11 10:00 ` [PATCH v3 7/8] rootfs: Add missing umounts in rootfs_postprocess() and rootfs_install() Anton Mikanovich
2024-10-11 10:00 ` [PATCH v3 8/8] image: Do not call rootfs_do_umounts twice Anton Mikanovich
2024-10-15  9:23 ` [PATCH v3 0/8] Hanging mount fixes Baurzhan Ismagulov
2024-10-16 16:06 ` Uladzimir Bely

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241011100050.322686-2-amikan@ilbers.de \
    --to=amikan@ilbers.de \
    --cc=isar-users@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox