From 7547ebd8cd2046245fbfce4db060fd3c5c1e1025 Mon Sep 17 00:00:00 2001 From: Rafael Zalamena Date: Wed, 13 Sep 2017 11:57:58 -0300 Subject: [PATCH] topogen: log diagnostics to file --- tests/topotests/lib/topogen.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/topotests/lib/topogen.py b/tests/topotests/lib/topogen.py index aaad5d49d7..e39803420b 100644 --- a/tests/topotests/lib/topogen.py +++ b/tests/topotests/lib/topogen.py @@ -40,13 +40,13 @@ Basic usage instructions: import os import sys +import logging import json import ConfigParser import glob import grp import platform import pwd -import re import subprocess from mininet.net import Mininet @@ -883,6 +883,15 @@ def diagnose_env(): is ok, otherwise `False`. """ ret = True + + # Log diagnostics to file so it can be examined later. + fhandler = logging.FileHandler(filename='/tmp/topotests/diagnostics.txt') + fhandler.setLevel(logging.DEBUG) + fhandler.setFormatter( + logging.Formatter(fmt='%(asctime)s %(levelname)s: %(message)s') + ) + logger.addHandler(fhandler) + logger.info('Running environment diagnostics') # Load configuration @@ -1006,4 +1015,7 @@ def diagnose_env(): except: logger.warning('failed to find exabgp or returned error') + # After we logged the output to file, remove the handler. + logger.removeHandler(fhandler) + return ret -- 2.39.5