aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikko Rapeli <mikko.rapeli@bmw.de>2017-06-01 18:52:59 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-06-03 23:43:28 +0100
commit031cf9c7834cd1cba8b03832673a3e3cfcbfae7c (patch)
treea6195928b2c6d71cea46163c22fcff8d57b153c4
parente26fa1c34c33ffdc678f8073dade0126aff08b40 (diff)
downloadopenembedded-core-031cf9c7834cd1cba8b03832673a3e3cfcbfae7c.zip
openembedded-core-031cf9c7834cd1cba8b03832673a3e3cfcbfae7c.tar.gz
openembedded-core-031cf9c7834cd1cba8b03832673a3e3cfcbfae7c.tar.bz2
scripts: Fix return value checks from subprocess.call()'s
Python function subprocess.call() returns the return value of the executed process. If return values are not checked, errors may go unnoticed and bad things can happen. Change all callers of subprocess.call() which do not check for the return value to use subprocess.check_call() which raises CalledProcessError if the subprocess returns with non-zero value. https://docs.python.org/2/library/subprocess.html#using-the-subprocess-module All users of the function were found with: $ git grep "subprocess\.call" | \ egrep -v 'if.*subprocess\.call|=\ +subprocess\.call|return.*subprocess\.call' Tested similar patch on top of yocto jethro. Only compile tested core-image-minimal on poky master branch. Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rwxr-xr-xscripts/runqemu8
1 files changed, 4 insertions, 4 deletions
diff --git a/scripts/runqemu b/scripts/runqemu
index 0039b83..311fbeb 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -1098,7 +1098,7 @@ class BaseConfig(object):
if self.serialstdio:
logger.info("Interrupt character is '^]'")
cmd = "stty intr ^]"
- subprocess.call(cmd, shell=True)
+ subprocess.check_call(cmd, shell=True)
first_serial = ""
if not re.search("-nographic", self.qemu_opt):
@@ -1146,7 +1146,7 @@ class BaseConfig(object):
if self.cleantap:
cmd = 'sudo %s %s %s' % (self.qemuifdown, self.tap, self.bindir_native)
logger.info('Running %s' % cmd)
- subprocess.call(cmd, shell=True)
+ subprocess.check_call(cmd, shell=True)
if self.lock_descriptor:
logger.info("Releasing lockfile for tap device '%s'" % self.tap)
self.release_lock()
@@ -1155,11 +1155,11 @@ class BaseConfig(object):
logger.info("Shutting down the userspace NFS server...")
cmd = "runqemu-export-rootfs stop %s" % self.rootfs
logger.info('Running %s' % cmd)
- subprocess.call(cmd, shell=True)
+ subprocess.check_call(cmd, shell=True)
if self.saved_stty:
cmd = "stty %s" % self.saved_stty
- subprocess.call(cmd, shell=True)
+ subprocess.check_call(cmd, shell=True)
if self.clean_nfs_dir:
logger.info('Removing %s' % self.rootfs)