diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2014-11-27 07:38:40 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2014-11-27 07:38:40 -0500 |
commit | c44bbcd1d86e6c4192988f20319d9e3c94e263b6 (patch) | |
tree | 9218d553861beac5f7030dfc645c708e29c8d301 /tests/test_config.py | |
parent | 0429009cf349d69b9b63bf2dc30755590067b510 (diff) | |
download | python-coveragepy-git-c44bbcd1d86e6c4192988f20319d9e3c94e263b6.tar.gz |
Give error messages if an explicitly provided rcfile can't be read.
Diffstat (limited to 'tests/test_config.py')
-rw-r--r-- | tests/test_config.py | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/tests/test_config.py b/tests/test_config.py index 26a22222..34727ae6 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -91,13 +91,18 @@ class ConfigTest(CoverageTest): self.assertEqual(cov.config.data_file, "fromarg.dat") def test_parse_errors(self): - # Im-parseable values raise CoverageException - self.make_file(".coveragerc", """\ - [run] - timid = maybe? - """) - with self.assertRaises(CoverageException): - coverage.coverage() + # Im-parseable values raise CoverageException, with details. + bad_configs_and_msgs = [ + ("[run]\ntimid = maybe?\n", r"maybe[?]"), + ("timid = 1\n", r"timid = 1"), + ("[run\n", r"\[run"), + ] + + for bad_config, msg in bad_configs_and_msgs: + print("Trying %r" % bad_config) + self.make_file(".coveragerc", bad_config) + with self.assertRaisesRegex(CoverageException, msg): + coverage.coverage() def test_environment_vars_in_config(self): # Config files can have $envvars in them. @@ -339,3 +344,15 @@ class ConfigFileTest(CoverageTest): self.assertEqual(cov.config.html_title, "tabblo & «ταБЬℓσ» # numbers" ) + + def test_unreadable_config(self): + # If a config file is explicitly specified, then it is an error for it + # to not be readable. + bad_files = [ + "nosuchfile.txt", + ".", + ] + for bad_file in bad_files: + msg = "Couldn't read %r as a config file" % bad_file + with self.assertRaisesRegex(CoverageException, msg): + coverage.coverage(config_file=bad_file) |