Description
def dump(self): print(self) sys.stdout.flush() @property def __str__(self): lines = [self.title] for ts, msg in self.logs: lines.append("%s %s" % (ts, msg)) res = str('\n'.join(lines)) return res
When dump() runs, Python's print() looks for a _str_ attribute on the argument, it finds it and tries to call it (as a function). But here it is a property which evaluates to a string, so this all fails with
71: ====================================================================== 71: ERROR: test_01_concurrent_requests (system_tests_http1_adaptor.Http1AdaptorEdge2EdgeTest) 71: Test multiple concurrent clients sending streaming messages 71: ---------------------------------------------------------------------- 71: Traceback (most recent call last): 71: File "/home/jdanek/repos/qpid/qpid-dispatch/tests/http1_tests.py", line 485, in test_01_concurrent_requests 71: client.dump_log() 71: File "/home/jdanek/repos/qpid/qpid-dispatch/tests/http1_tests.py", line 207, in dump_log 71: self._logger.dump() 71: File "/home/jdanek/repos/qpid/qpid-dispatch/tests/system_test.py", line 1424, in dump 71: print(self) 71: TypeError: 'str' object is not callable