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.rap...@bmw.de> --- scripts/runqemu | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) v2: split patches to bitbake, meta and scripts v1: http://lists.openembedded.org/pipermail/openembedded-core/2017-May/136901.html diff --git a/scripts/runqemu b/scripts/runqemu index 72c4176..416c3f7 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): @@ -1145,7 +1145,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() @@ -1154,11 +1154,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) -- 1.9.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core