tests: Fix error running tests with Python 3.11

In 664448d81f
the "errors" attribute was removed from the _Outcome object. Adapt the
code to print the daemon log after a failed run().
This commit is contained in:
Bastien Nocera 2022-06-24 10:27:13 +02:00
parent d72a30cff6
commit 53d9f55edd

View file

@ -116,6 +116,14 @@ class Tests(dbusmock.DBusTestCase):
# Used for dytc devices
self.tp_acpi = None
def run(self, result=None):
super(Tests, self).run(result)
if result and len(result.errors) + len(result.failures) > 0 and self.log:
with open(self.log.name) as f:
sys.stderr.write('\n-------------- daemon log: ----------------\n')
sys.stderr.write(f.read())
sys.stderr.write('------------------------------\n')
def tearDown(self):
del self.testbed
self.stop_daemon()
@ -135,14 +143,6 @@ class Tests(dbusmock.DBusTestCase):
except Exception:
pass
# on failures, print daemon log
errors = [x[1] for x in self._outcome.errors if x[1]]
if errors and self.log:
with open(self.log.name) as f:
sys.stderr.write('\n-------------- daemon log: ----------------\n')
sys.stderr.write(f.read())
sys.stderr.write('------------------------------\n')
#
# Daemon control and D-BUS I/O
#