From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 1/1] qemurunner: Improves checking for Server and Target IPs on qemus parameters
Date: Thu, 06 Aug 2015 09:21:38 -0500 [thread overview]
Message-ID: <1438870898.30467.14.camel@linuxfoundation.org> (raw)
In-Reply-To: <95943e072596a3d06d3c2f164620373e18925f9a.1438816804.git.alejandro.hernandez@linux.intel.com>
On Wed, 2015-08-05 at 23:21 +0000, Alejandro Hernandez wrote:
> Fixes server hanging infinitely waiting for qemus process to let go of bitbake.lock
>
> Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
> ---
> meta/lib/oeqa/utils/qemurunner.py | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
> index 1cf8f76..ff53af3 100644
> --- a/meta/lib/oeqa/utils/qemurunner.py
> +++ b/meta/lib/oeqa/utils/qemurunner.py
> @@ -120,14 +120,17 @@ class QemuRunner:
> cmdline = ''
> with open('/proc/%s/cmdline' % self.qemupid) as p:
> cmdline = p.read()
> - ips = re.findall("((?:[0-9]{1,3}\.){3}[0-9]{1,3})", cmdline.split("ip=")[1])
> - if not ips or len(ips) != 3:
> + try:
> + ips = re.findall("((?:[0-9]{1,3}\.){3}[0-9]{1,3})", cmdline.split("ip=")[1])
> + if not ips or len(ips) != 3:
> + raise Exception
> + else:
> + self.ip = ips[0]
> + self.server_ip = ips[1]
> + except Exception:
> logger.info("Couldn't get ip from qemu process arguments! Here is the qemu command line used: %s" % cmdline)
> self.stop()
> return False
> - else:
> - self.ip = ips[0]
> - self.server_ip = ips[1]
> logger.info("Target IP: %s" % self.ip)
> logger.info("Server IP: %s" % self.server_ip)
> logger.info("Waiting at most %d seconds for login banner" % self.boottime)
This is ok, however its not as pythonic as perhaps it could/should be.
Usually with python you should always trap specific exceptions, so in
this case you'd do:
try:
y = x[1]
if len(ips) != 3:
raise ValueError
except IndexError, ValueError:
<handle error>
You do this so that if something unexpected happens, the code doesn't
"swallow" the error but shows a complete traceback and failure.
The whitespace on this patch also looks a little bit odd although I
didn't try applying the patch.
Cheers,
Richard
prev parent reply other threads:[~2015-08-06 14:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1438816804.git.alejandro.hernandez@linux.intel.com>
2015-08-05 23:21 ` [PATCH 1/1] qemurunner: Improves checking for Server and Target IPs on qemus parameters Alejandro Hernandez
2015-08-06 14:21 ` Richard Purdie [this message]
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=1438870898.30467.14.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=alejandro.hernandez@linux.intel.com \
--cc=openembedded-core@lists.openembedded.org \
/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