summaryrefslogtreecommitdiff
path: root/coverage/sqldata.py
Commit message (Collapse)AuthorAgeFilesLines
* temp: collect information about sqlite journal_modenedbat/wtf-sqliteNed Batchelder2023-03-161-0/+3
|
* fix: Use "journal_mode=memory" if "journal_mode=off" fails.Brad Smith2023-03-161-0/+5
|
* refactor: no placebos, use true OptionalNed Batchelder2023-02-141-2/+0
| | | | | | For objects that truly might not exist, use Optional. Some objects will always exist eventually, and for those we have some null implementation standins to use without making new placebo classes.
* fix: Path objects are ok for data_file and config_file. #1552Ned Batchelder2023-02-121-2/+2
|
* refactor: use placebos instead of non-existent attributesNed Batchelder2023-02-111-0/+2
| | | | | Details of the problem and thought process: https://nedbatchelder.com/blog/202302/late_initialization_with_mypy.html
* feat: simplify purges_filesNed Batchelder2023-02-081-24/+19
| | | | Also, move tests to test_data.py, and finish covering the code.
* feat: add purge_files method to CoverageData + unit tests for it (#1547)Wingware Development2023-02-041-0/+36
| | | | | | | | | | | | | | | * Add purge_files method to CoverageData, to allow for selective removal and update of coverage data. * Fix assert syntax so it's not true; this code isn't reached in the test unless it fails and then it would have failed to fail. * Remove trailing whitespace; did not expect this would matter on a blank line. * Add type annotations required by mypy --------- Co-authored-by: Stephan Deibel <sdeibel@wingware.com>
* fix: two typing tweaksNed Batchelder2023-02-041-1/+1
|
* perf: avoid needless sql operations. #1538Ned Batchelder2023-01-241-9/+7
| | | | | | | | | | If the set of arcs is empty, skip the SQL operations. We also need to allow setting a file tracer for an unmeasured file, to avoid the Cython problem whose fix caused the performance issue in the first place. TBH, I don't know why we had to prevent file tracers on unmeasured files. Perhaps pytest-cov has changed to avoid the behavior that caused problems.
* style: use good style for annotated defaults parametersNed Batchelder2023-01-051-15/+15
|
* mypy: Iterator is better than GeneratorNed Batchelder2023-01-051-3/+3
|
* fix: race condition on data file shouldn't break combining. #1522Ned Batchelder2023-01-031-1/+1
|
* mypy: check collector.py and plugin_support.pyNed Batchelder2023-01-011-5/+5
|
* mypy: add annotate.py and jsonreport.pyNed Batchelder2022-12-311-1/+1
|
* mypy: control.py is checkedNed Batchelder2022-12-311-5/+5
|
* refactor: remove some unused codeNed Batchelder2022-12-291-16/+2
|
* mypy: check sqldata.pyNed Batchelder2022-12-291-88/+122
|
* refactor: ensure all sqlite cursors are closedNed Batchelder2022-11-271-93/+131
|
* refactor: SimpleReprMixing wasn't simple, it was autoNed Batchelder2022-11-271-3/+3
| | | | Also, I'm not sure I like it as a mixin...
* feat: implicit path mapping during reporting. #1212Ned Batchelder2022-11-271-1/+6
|
* perf: more combine speed-upsNed Batchelder2022-11-201-7/+14
| | | | | | | By avoiding writing metadata that differs but doesn't change the data, we get a higher hitrate on the hash-checking when combining. Use --debug=process to include these details for debugging.
* perf: hash data files during combining to avoid unneeded work. #1483Ned Batchelder2022-11-081-3/+0
| | | | | | | | | When generating many parallel data files, often some data files will be exact copies of each other. Checking the hashes, we can avoid combining the duplicates, speeding the process. On a coverage.py metacov, we had 651 duplicates out of 2189 files (29%). The time to combine was reduced by 17%.
* build: 3.11.0 and 3.12.0a1 are availableNed Batchelder2022-10-271-1/+0
|
* feat: implicitly combine relative pathsNed Batchelder2022-10-151-1/+3
|
* feat: --debug=pathmap will show details of re-mapping due to [paths] setting.Ned Batchelder2022-09-161-2/+1
|
* fix: filenames can contain special glob characters (#1405)earthman12022-08-061-2/+2
| | | | | * Fix globbing of filenames that contain special glob characters * glob the path as well as the filename
* refactor: SQLite REGEX function can be inlineNed Batchelder2022-06-081-6/+1
|
* fix: don't create a data file when just trying to read one. #13286.4Ned Batchelder2022-05-221-2/+3
|
* feat: a new debug option `sqldata` shows all the data being written to the db.Ned Batchelder2022-05-221-10/+23
|
* refactor: SqliteDb uses its debug object more like other codeNed Batchelder2022-05-221-7/+7
|
* style: make sqldata.py code more uniformNed Batchelder2022-05-211-20/+20
|
* fix: CoverageData(no_disk=True).update() now works. #1323Ned Batchelder2022-05-211-5/+7
|
* debug: slightly nicer wrapping of the sqlite3 debug infoNed Batchelder2022-05-141-3/+2
|
* test: remove version-specfic skips we no longer needNed Batchelder2022-05-131-3/+0
|
* style: parens should indent the same as their opening lineNed Batchelder2022-05-011-3/+3
|
* debug: include an indication of exception in the debug logNed Batchelder2022-02-031-0/+4
|
* fix: use a re-entrant lock to avoid self-deadlocking #1310Ned Batchelder2022-01-301-1/+5
|
* test: skip tests on py 3.11.0a4 that are failing in metacovNed Batchelder2022-01-291-0/+3
| | | | | This specific set of circumstances was triggering https://bugs.python.org/issue44088
* fix: create the db as needed when accessedNed Batchelder2022-01-201-30/+25
|
* refactor: make this more apparentNed Batchelder2022-01-171-1/+2
|
* refactor: filename_suffix() is only used by CoverageData, so move itNed Batchelder2021-11-161-1/+23
|
* docs: clarify the CoverageData(basename=) argument. #985Ned Batchelder2021-11-151-1/+1
| | | | [skip actions]
* refactor: specialize exceptionsNed Batchelder2021-11-141-16/+16
| | | | | | CoverageException is fine as a base class, but not good to use for raising (and catching sometimes). Introduce specialized exceptions that allow third-party tools to integrate better.
* refactor: no need for __nonzero__, that was py2 onlyNed Batchelder2021-11-131-3/+1
|
* test: cover the last edge cases in sqldata.pyNed Batchelder2021-10-101-4/+4
|
* fix: raise CoverageException for SQLite connection errorsnedbat/sqldata-edge-testsNed Batchelder2021-10-101-1/+5
|
* style: use the official designation for utf-8Ned Batchelder2021-10-101-2/+2
| | | | | 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-091-8/+10
|
* style: make string quotes uniformNed Batchelder2021-10-091-74/+71
|
* refactor: use sets to collect dataNed Batchelder2021-08-151-4/+5
| | | | | | | 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.