diff options
Diffstat (limited to 'coverage/config.py')
-rw-r--r-- | coverage/config.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/coverage/config.py b/coverage/config.py index c6689d2d..89a0321e 100644 --- a/coverage/config.py +++ b/coverage/config.py @@ -9,10 +9,12 @@ import os import re from coverage import env -from coverage.backward import configparser, iitems, string_class +from coverage.backward import configparser, iitems, string_class, toml from coverage.misc import contract, CoverageException, isolate_module from coverage.misc import substitute_variables +from coverage.tomlconfig import TomlConfigParser, TomlDecodeError + os = isolate_module(os) @@ -256,12 +258,19 @@ class CoverageConfig(object): coverage.py settings in it. """ + _, ext = os.path.splitext(filename) + if ext == '.toml': + if toml is None: + return False + cp = TomlConfigParser(our_file) + else: + cp = HandyConfigParser(our_file) + self.attempted_config_files.append(filename) - cp = HandyConfigParser(our_file) try: files_read = cp.read(filename) - except configparser.Error as err: + except (configparser.Error, TomlDecodeError) as err: raise CoverageException("Couldn't read config file %s: %s" % (filename, err)) if not files_read: return False @@ -473,6 +482,7 @@ def config_files_to_try(config_file): config_file = ".coveragerc" files_to_try = [ (config_file, True, specified_file), + ("pyproject.toml", False, False), ("setup.cfg", False, False), ("tox.ini", False, False), ] |