This is an automated email from the ASF dual-hosted git repository. kgiusti pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git
The following commit(s) were added to refs/heads/master by this push: new 40303c2 DISPATCH-1438: dump the router debug dump file on router exit 40303c2 is described below commit 40303c20834ab4ec8ef8c1c8afa548b29c8a13da Author: Kenneth Giusti <kgiu...@apache.org> AuthorDate: Fri Nov 8 14:59:29 2019 -0500 DISPATCH-1438: dump the router debug dump file on router exit When the router is built for Debug (-DCMAKE_BUILD_TYPE=Debug) it creates a dump file on shutdown that contains debug information. This patch updates ctest to dump the file to stderr when the "-V" (verbose) flag is used. This closes #621 --- tests/system_test.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tests/system_test.py b/tests/system_test.py index 56094b6..ab8e987 100755 --- a/tests/system_test.py +++ b/tests/system_test.py @@ -399,7 +399,8 @@ class Qdrouterd(Process): if not name: name = self.config.router_id assert name # setup log and debug dump files - self.config.sections('router')[0]['debugDumpFile'] = '%s-qddebug.txt' % name + self.dumpfile = os.path.abspath('%s-qddebug.txt' % name) + self.config.sections('router')[0]['debugDumpFile'] = self.dumpfile default_log = [l for l in config if (l[0] == 'log' and l[1]['module'] == 'DEFAULT')] if not default_log: config.append( @@ -435,6 +436,20 @@ class Qdrouterd(Process): super(Qdrouterd, self).teardown() + # check router's debug dump file for anything interesting (should be + # empty) and dump it to stderr for perusal by organic lifeforms + try: + if os.stat(self.dumpfile).st_size > 0: + with open(self.dumpfile) as f: + sys.stderr.write("\nRouter %s debug dump file:\n" % self.config.router_id) + sys.stderr.write(f.read()) + sys.stderr.flush() + except OSError: + # failed to open file. This can happen when an individual test + # spawns a temporary router (i.e. not created as part of the + # TestCase setUpClass method) that gets cleaned up by the test. + pass + @property def ports_family(self): """ --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org