From: Rafael Zalamena Date: Wed, 13 Sep 2017 15:22:14 +0000 (-0300) Subject: topogen: fix diagnostics failure X-Git-Tag: frr-7.1-dev~151^2~212 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=fcfbc7696bddd37d903ca16d7b1b082208486212;p=matthieu%2Ffrr.git topogen: fix diagnostics failure Don't try to log to file if directory doesn't exist. --- diff --git a/tests/topotests/lib/topogen.py b/tests/topotests/lib/topogen.py index eda4e3128b..8e0d68e86d 100644 --- a/tests/topotests/lib/topogen.py +++ b/tests/topotests/lib/topogen.py @@ -884,13 +884,18 @@ def diagnose_env(): """ 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) + # Test log path exists before installing handler. + if not os.path.isdir('/tmp'): + logger.warning('could not find /tmp for logs') + else: + os.system('mkdir /tmp/topotests') + # 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') @@ -1002,9 +1007,6 @@ def diagnose_env(): '{} -v 2>&1 >/tmp/topotests/quagga_zebra.txt'.format(path) ) - if not os.path.isdir('/tmp'): - logger.warning('could not find /tmp for logs') - # Test MPLS availability krel = platform.release() if topotest.version_cmp(krel, '4.5') < 0: