Bug#844255: Possible solution

2016-12-01 Thread Martin Pitt
Control: tag -1 pending

Hello Attila,

SZALAY Attila [2016-12-01  6:53 +0100]:
> Meanwhile I traced down the issue and found that although the
> satisfy_dependencies_string and the install_apt do have
> shell_on_failure option, install_deos do not, therefore the chain is
> broken.
> 
> I created a small patch to add this option to the required places.

Thanks! There was one spot missing when the apt-get install succeeded,
but it did not actually install all the desired packages. I added that
part now, and committed:

  https://anonscm.debian.org/cgit/autopkgtest/autopkgtest.git/commit/?id=ac6d822

Martin
-- 
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)



Bug#844255: Possible solution

2016-11-30 Thread SZALAY Attila
Hi,

Meanwhile I traced down the issue and found that although the
satisfy_dependencies_string and the install_apt do have
shell_on_failure option, install_deos do not, therefore the chain is
broken.

I created a small patch to add this option to the required places.
diff --git a/lib/adt_testbed.py b/lib/adt_testbed.py
index dda1a69..cb2b8e9 100644
--- a/lib/adt_testbed.py
+++ b/lib/adt_testbed.py
@@ -330,7 +330,7 @@ class Testbed:
 self._opened(pl)
 self.modified = False
 
-def install_deps(self, deps_new, recommends):
+def install_deps(self, deps_new, recommends, shell_on_failure=False):
 '''Install dependencies into testbed'''
 adtlog.debug('install_deps: deps_new=%s, recommends=%s' % (deps_new, recommends))
 
@@ -338,7 +338,7 @@ class Testbed:
 self.recommends_installed = recommends
 if not deps_new:
 return
-self.satisfy_dependencies_string(', '.join(deps_new), 'install-deps', recommends)
+self.satisfy_dependencies_string(', '.join(deps_new), 'install-deps', recommends, shell_on_failure=shell_on_failure)
 
 def needs_reset(self):
 # show what caused a reset
diff --git a/runner/autopkgtest b/runner/autopkgtest
index 79d5751..4482b28 100755
--- a/runner/autopkgtest
+++ b/runner/autopkgtest
@@ -157,7 +157,7 @@ def run_tests(tests, tree):
 adtlog.info('test %s: preparing testbed' % t.name)
 testbed.reset(t.depends, 'needs-recommends' in t.restrictions)
 binaries.publish()
-testbed.install_deps(t.depends, 'needs-recommends' in t.restrictions)
+testbed.install_deps(t.depends, 'needs-recommends' in t.restrictions, opts.shell_fail)
 
 testbed.run_test(tree, t, opts.env, opts.shell_fail, opts.shell,
  opts.build_parallel)