From 63fd6d41c91af01952289dd5322511276af1fd83 Mon Sep 17 00:00:00 2001 From: John Szakmeister Date: Sat, 28 Nov 2015 08:31:56 -0500 Subject: [PATCH] Fix a coverage plugin test to work with newer versions of coverage. --- unit_tests/test_cover_plugin.py | 59 +++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 21 deletions(-) diff --git a/unit_tests/test_cover_plugin.py b/unit_tests/test_cover_plugin.py index bc5d38b8..b95c590f 100644 --- a/unit_tests/test_cover_plugin.py +++ b/unit_tests/test_cover_plugin.py @@ -1,3 +1,4 @@ +import os import sys from optparse import OptionParser from nose.config import Config @@ -24,27 +25,43 @@ def test_cover_options_tests(self): env_key='NOSE_COVER_TESTS') def test_cover_options_config_file(self): - c1, c2 = _test_options_helper('--cover-config-file', 'coverConfigFile', - 'not_default_config_file', True, - arg_value='not_default_config_file', - env_key='NOSE_COVER_CONFIG_FILE') - - cov_info = c1.coverInstance.sysinfo() - for key, value in cov_info: - if key == 'config_files': - eq_(value, ['.coveragerc']) - break - else: - assert False, "coverage did not load default config file" - - cov_info = c2.coverInstance.sysinfo() - for key, value in cov_info: - if key == 'config_files': - eq_(value, ['not_default_config_file']) - break - else: - assert False, "coverage did not load expected config file" - + def get_sys_info(cov_inst): + # Older coverage uses sysinfo, while newer coverage uses sys_info. + if hasattr(cov_inst, 'sysinfo'): + return cov_inst.sysinfo() + else: + return cov_inst.sys_info() + + def get_config_files(cov_info): + cov_info = dict(cov_info) + if 'config_files' in cov_info: + return cov_info['config_files'] + return None + + f = open('not_default_config_file', 'wb') + f.close() + try: + c1, c2 = _test_options_helper( + '--cover-config-file', 'coverConfigFile', + 'not_default_config_file', True, + arg_value='not_default_config_file', + env_key='NOSE_COVER_CONFIG_FILE') + + cov_info = get_sys_info(c1.coverInstance) + config_files = get_config_files(cov_info) + if config_files is not None: + assert '.coveragerc' in config_files + else: + assert False, "coverage did not load default config file" + + cov_info = get_sys_info(c2.coverInstance) + config_files = get_config_files(cov_info) + if config_files is not None: + assert 'not_default_config_file' in config_files + else: + assert False, "coverage did not load expected config file" + finally: + os.unlink('not_default_config_file') def _test_options_helper(arg_option, cover_option, expected_set, expected_not_set,