From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org, "Cleber Rosa" <crosa@redhat.com>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>
Cc: Beraldo Leal <bleal@redhat.com>
Subject: [PATCH] tests/avocado: Cancel BootLinux tests in case there is no free port
Date: Mon, 28 Feb 2022 12:43:25 +0100 [thread overview]
Message-ID: <20220228114325.818294-1-thuth@redhat.com> (raw)
The BootLinux tests are currently failing with an ugly python
stack trace on my RHEL8 system since they cannot get a free port
(likely due to the firewall settings on my system). Let's properly
check the return value of find_free_port() instead and cancel the
test gracefully if it cannot get a free port.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
Unfortunately, it still takes > 70 seconds for each and every
tests from tests/avocado/boot_linux.py to get canceled, so
tests/avocado/boot_linux.py still renders "make check-avocado"
for me pretty unusable... looking at the implementation of
find_free_port() in Avocado, I wonder whether there isn't a
better way to get a free port number in Python? Brute-forcing
all ports between 1024 and 65536 seems just quite cumbersome
to me...
tests/avocado/avocado_qemu/__init__.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/avocado/avocado_qemu/__init__.py b/tests/avocado/avocado_qemu/__init__.py
index 75063c0c30..9b056b5ce5 100644
--- a/tests/avocado/avocado_qemu/__init__.py
+++ b/tests/avocado/avocado_qemu/__init__.py
@@ -603,6 +603,8 @@ def prepare_cloudinit(self, ssh_pubkey=None):
try:
cloudinit_iso = os.path.join(self.workdir, 'cloudinit.iso')
self.phone_home_port = network.find_free_port()
+ if not self.phone_home_port:
+ self.cancel('Failed to get a free port')
pubkey_content = None
if ssh_pubkey:
with open(ssh_pubkey) as pubkey:
--
2.27.0
next reply other threads:[~2022-02-28 11:51 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-28 11:43 Thomas Huth [this message]
2022-03-07 12:31 ` [PATCH] tests/avocado: Cancel BootLinux tests in case there is no free port Beraldo Leal
2022-03-07 12:50 ` Daniel P. Berrangé
2022-03-07 18:31 ` Thomas Huth
2022-03-07 18:48 ` Daniel P. Berrangé
2022-03-08 19:13 ` Thomas Huth
2022-03-10 15:28 ` Cleber Rosa
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=20220228114325.818294-1-thuth@redhat.com \
--to=thuth@redhat.com \
--cc=bleal@redhat.com \
--cc=crosa@redhat.com \
--cc=f4bug@amsat.org \
--cc=qemu-devel@nongnu.org \
--cc=wainersm@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.