summaryrefslogtreecommitdiff
path: root/coverage
Commit message (Collapse)AuthorAgeFilesLines
* fix: raise CoverageException for SQLite connection errorsnedbat/sqldata-edge-testsNed Batchelder2021-10-101-1/+5
|
* style: prefer explicit string concatenationNed Batchelder2021-10-103-34/+33
|
* style: use the official designation for utf-8Ned Batchelder2021-10-106-11/+11
| | | | | Yes, this is completely unimportant. Don't ask me why I bothered, I'm not really sure.
* fix: contexts_by_lineno now returns a true dictNed Batchelder2021-10-093-13/+13
|
* style: make string quotes uniformNed Batchelder2021-10-091-74/+71
|
* refactor: this import was only needed for Python 2Ned Batchelder2021-10-081-4/+1
|
* test: mark some uncovered thingsNed Batchelder2021-10-083-3/+12
|
* test: canonicalize this bit of debug outputNed Batchelder2021-10-081-1/+1
|
* build: bump versionNed Batchelder2021-10-061-1/+1
|
* build: prep for 6.0.16.0.1Ned Batchelder2021-10-061-1/+1
|
* fix: make exceptions importable from coverage.misc again. #1226Ned Batchelder2021-10-061-0/+5
|
* Fix an incompatibility with pyarmorglacials2021-10-061-1/+1
|
* fix: pretend we didn't import third-party packages we use. #1228Ned Batchelder2021-10-062-5/+29
| | | | | | tomli couldn't use coverage themselves because we imported it early. Cleaning sys.modules means their own imports will actually execute after coverage has started, so their files will be properly measured.
* build: bump versionNed Batchelder2021-10-021-1/+1
|
* build: prep for 6.0 releaseNed Batchelder2021-10-021-1/+1
|
* test: update pylintNed Batchelder2021-09-291-1/+1
|
* fix: Avoid a race condition in misc.ensure_dir (#1220)Clément Pit-Claudel2021-09-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * coverage/misc.py (ensure_dir): Pass exist_ok to os.makedirs, ensuring that if two concurrent instances of coverage.py entering this function at the same time won't fail with FileExistsError. Sample backtrace: Traceback (most recent call last): File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/lib/python3.8/runpy.py", line 87, in _run_code exec(code, run_globals) File "/home/user/.local/lib/python3.8/site-packages/coverage/__main__.py", line 8, in <module> sys.exit(main()) File "/home/user/.local/lib/python3.8/site-packages/coverage/cmdline.py", line 871, in main status = CoverageScript().command_line(argv) File "/home/user/.local/lib/python3.8/site-packages/coverage/cmdline.py", line 588, in command_line return self.do_run(options, args) File "/home/user/.local/lib/python3.8/site-packages/coverage/cmdline.py", line 743, in do_run self.coverage.start() File "/home/user/.local/lib/python3.8/site-packages/coverage/control.py", line 535, in start self._init_for_start() File "/home/user/.local/lib/python3.8/site-packages/coverage/control.py", line 474, in _init_for_start self._init_data(suffix) File "/home/user/.local/lib/python3.8/site-packages/coverage/control.py", line 512, in _init_data ensure_dir_for_file(self.config.data_file) File "/home/user/.local/lib/python3.8/site-packages/coverage/misc.py", line 165, in ensure_dir_for_file ensure_dir(os.path.dirname(path)) File "/.local/lib/python3.8/site-packages/coverage/misc.py", line 160, in ensure_dir os.makedirs(directory) File "/usr/lib/python3.8/os.py", line 223, in makedirs mkdir(name, mode)
* refactor: use sets to collect dataNed Batchelder2021-08-155-28/+28
| | | | | | | Coverage.py predates sets as a built-in data structure, so the file data collection has long been dicts with None as the values. Sets are available to us now (since Python 2.4 in 2004, which coverage.py dropped support for in 2014!), we use sets.
* fix: missing exceptions through with statements in 3.10 aren't considered ↵Ned Batchelder2021-08-141-8/+4
| | | | missing branches. #1205
* debug: improved logging in tracer.cNed Batchelder2021-08-091-13/+14
|
* Fix parsing 'command_line' option (#1201)Pavel Tsialnou2021-08-061-1/+1
| | | | | Coverage config files supports 'command_line' parameters. However, only '-m' is parsed properly. The line 'command_line = "--module unittest discover"' is considered as a path, not a module option.
* feat: mention skipped file counts in the HTML report. #1163Ned Batchelder2021-08-062-1/+28
|
* feat: `coverage combine` now prints messages naming the files being ↵Ned Batchelder2021-08-052-1/+6
| | | | combined. #1105 (#1208)
* feat: HTML report now says where the report is. #1195 (#1207)Ned Batchelder2021-08-053-2/+19
|
* feat: unrecognized options are now a warning rather than error. #1035 (#1206)Ned Batchelder2021-08-052-18/+23
| | | | Because they are warnings issued while parsing the configuration file, it's not possible to suppress them with the coverage configuration.
* style: fix typos discovered by codespell (#1197)Christian Clauss2021-08-011-1/+1
| | | | | | | | | | | python3 -m pip install codespell codespell --ignore-words-list="ba,cant,datas,hart,linke,ned,nin,overthere,upto" --skip="*.js" * Fix typos discovered by codespell * datas * intgers ==> integers
* fix: correct previous refactoringsNed Batchelder2021-07-285-9/+9
| | | | | File names should not be rendered with !r, since on Windows that will produce double backslashes, which only confuses people.
* refactor: convert %-strings to f-stringsNed Batchelder2021-07-289-27/+17
|
* fix: match/case will trace the default case lineNed Batchelder2021-07-271-3/+0
|
* fix: retry immediately on a failure inside executemany. #1010Ned Batchelder2021-07-211-1/+7
|
* fix: raise chained errors with "from" #998Ned Batchelder2021-07-207-28/+26
| | | | | | This makes exceptions report their causes correctly, as "The above exception was the direct cause of the following exception" instead of "During handling of the above exception, another exception occurred."
* build: bump version6.0b1Ned Batchelder2021-07-181-1/+1
|
* docs: prep for 6.0b1Ned Batchelder2021-07-181-1/+1
|
* build: update pylint and remove some unneeded warning suppressionNed Batchelder2021-07-181-1/+1
|
* fix: generate flat file names differentlyNed Batchelder2021-07-151-8/+9
| | | | | | | | Fixes a few unusual issues with reports: - #580: HTML report generation fails on too long path - #584: File collisions in coverage report html - #1167: Remove leading underscore in coverage html
* fix: it just seems silly to use more than 32 chars for a fingerprintNed Batchelder2021-07-141-1/+1
|
* fix: use a modern hash when fingerprinting. #1189Ned Batchelder2021-07-131-8/+8
|
* Support TOML v1.0.0 syntax in `pyproject.toml` (#1186)Thomas Grainger2021-07-131-6/+6
| | | | | | | | | | | | | | | | | * Support TOML v1.0.0 syntax in `pyproject.toml` fixes #1180 Co-authored-by: Taneli Hukkinen <3275109+hukkin@users.noreply.github.com> * fix toml meta test * use pytest.mark.parametrize to narrow test failure * Update tests/test_config.py Co-authored-by: Taneli Hukkinen <3275109+hukkin@users.noreply.github.com> Co-authored-by: Taneli Hukkinen <3275109+hukkin@users.noreply.github.com>
* refactor: Python 3.9 added an accessor for frame->f_codeNed Batchelder2021-07-082-11/+18
| | | | This accessor is now required in 3.11, so let's use it.
* feat: soft keywords are shown in bold in the HTML reportNed Batchelder2021-06-062-3/+40
| | | | | | | | The match and case soft keywords are shown in bold when they are keywords, and not when they are not. The underscore soft keyword is ignored, because it is harder to get right, and because it doesn't look that much different in bold anyway.
* feat: add support for Python 3.10 match-case statementsNed Batchelder2021-06-062-0/+24
|
* fix: in Python 3.10, leaving a with block exits through the with statement.Ned Batchelder2021-06-052-9/+77
| | | | This need 3.10.0b3 (not yet released) to fully pass.
* refactor: no need for clever byte_parser propertyNed Batchelder2021-06-051-10/+3
| | | | | It was only ever used once per object, so just make the ByteParser when we need it.
* test: add a test for annotated assignmentNed Batchelder2021-06-051-1/+4
| | | | | | | | | Every statement-level ast node should be tested. Annotated assignment was missing. Also, we don't need "exec" anymore, that was only for Python 2. And: this is the 1000th test!
* test: during testing, be strict about handling all ast nodesNed Batchelder2021-06-041-4/+3
|
* refactor: better naming for a code object dispatcherNed Batchelder2021-06-041-14/+16
|
* refactor: delegate to blocks and avoid isinstanceNed Batchelder2021-06-041-38/+87
|
* refactor: remove things only needed for Python 2Ned Batchelder2021-06-041-26/+1
|
* fix: use more explicit names for some debug informationNed Batchelder2021-06-021-2/+2
|
* refactor: remove globals from NumbersNed Batchelder2021-06-016-39/+33
|