=== modified file 'lava_dispatcher/client/base.py'
@@ -61,7 +61,7 @@
index = self._connection.expect(
['.+', pexpect.EOF, pexpect.TIMEOUT], timeout=1, lava_no_logging=1)
- def run(self, cmd, response=None, timeout=-1):
+ def run(self, cmd, response=None, timeout=-1, failok=False):
"""Run `cmd` and wait for a shell response.
:param cmd: The command to execute.
@@ -96,6 +96,9 @@
['rc=(\d+\d?\d?)', pexpect.EOF, pexpect.TIMEOUT], timeout=2, lava_no_logging=1)
if match_id == 0:
rc = int(self._connection.match.groups()[0])
+ if rc != 0 and not failok:
+ raise OperationFailed(
+ "executing %r failed with code %s" % (cmd, rc))
else:
rc = None
else:
@@ -117,7 +120,8 @@
lava_server_ip = self._client.context.lava_server_ip
self.run(
"LC_ALL=C ping -W4 -c1 %s" % lava_server_ip,
- ["1 received", "0 received", "Network is unreachable"], timeout=5)
+ ["1 received", "0 received", "Network is unreachable"],
+ timeout=5, failok=True)
if self.match_id == 0:
return True
else:
@@ -143,7 +147,7 @@
self, client.proc, client.tester_str, wait_for_rc)
def export_display(self):
- self.run("su - linaro -c 'DISPLAY=:0 xhost local:'")
+ self.run("su - linaro -c 'DISPLAY=:0 xhost local:'", failok=True)
self.run("export DISPLAY=:0")
=== modified file 'lava_dispatcher/client/master.py'
@@ -69,14 +69,10 @@
decompression_char = 'z'
elif tarball_url.endswith('.bz2'):
decompression_char = 'j'
- rc = session.run(
+ session.run(
'wget -qO- %s |tar --numeric-owner -C %s -x%sf -' % (
tarball_url, dest, decompression_char),
timeout=timeout)
- if rc != 0:
- msg = "Deploy: failed to deploy to %s" % dest
- raise OperationFailed(msg)
-
def _deploy_linaro_rootfs(session, rootfs):
logging.info("Deploying linaro image")
@@ -153,6 +149,7 @@
% (data_part_org, data_part_lava))
session.run('sed -i "s/mmcblk1p%s/mmcblk1p%s/g" init.rc'
% (sys_part_org, sys_part_lava))
+ # failok true for this?:
session.run(
'sed -i "/export PATH/a \ \ \ \ export PS1 root@linaro: " init.rc')
@@ -174,7 +171,7 @@
logging.info("Deploying the test root filesystem")
# sdcard_part_lava = session._client.device_option("sdcard_part_android")
- session.run('umount /dev/disk/by-label/testrootfs')
+ session.run('umount /dev/disk/by-label/testrootfs', failok=True)
session.run(
'mkfs -t %s -q /dev/disk/by-label/testrootfs -L testrootfs' % rootfstype)
session.run('udevadm trigger')
@@ -187,7 +184,9 @@
# "/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0" % sdcard_part_lava
# session.run(
# 'sed -i "%s" /mnt/lava/system/etc/vold.fstab' % sed_cmd)
- session.run('sed -i "s/^PS1=.*$/PS1=\'root@linaro: \'/" /mnt/lava/system/etc/mkshrc')
+ session.run(
+ 'sed -i "s/^PS1=.*$/PS1=\'root@linaro: \'/" /mnt/lava/system/etc/mkshrc',
+ failok=True)
session.run('umount /mnt/lava/system')
def _purge_linaro_android_sdcard(session):
@@ -218,8 +217,9 @@
prefix += ' '
self._prefix = prefix
- def run(self, cmd, response=None, timeout=-1):
- return super(PrefixCommandRunner, self).run(self._prefix + cmd, response, timeout)
+ def run(self, cmd, response=None, timeout=-1, failok=False):
+ return super(PrefixCommandRunner, self).run(
+ self._prefix + cmd, response, timeout, failok)
class MasterCommandRunner(NetworkCommandRunner):
@@ -440,11 +440,11 @@
def _format_testpartition(self, session, fstype):
logging.info("Format testboot and testrootfs partitions")
- session.run('umount /dev/disk/by-label/testrootfs')
+ session.run('umount /dev/disk/by-label/testrootfs', failok=True)
session.run(
'mkfs -t %s -q /dev/disk/by-label/testrootfs -L testrootfs'
% fstype)
- session.run('umount /dev/disk/by-label/testboot')
+ session.run('umount /dev/disk/by-label/testboot', failok=True)
session.run('mkfs.vfat /dev/disk/by-label/testboot -n testboot')
def _generate_tarballs(self, image_file):