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 13:32:52 +02:00
parent e4f0e05af3
commit 40e055b7c8

View File

@@ -111,6 +111,14 @@ class Tests(dbusmock.DBusTestCase):
self.log = None
self.daemon = 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()
@@ -123,14 +131,6 @@ class Tests(dbusmock.DBusTestCase):
self.polkitd.wait()
self.polkitd = None
# 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
#