Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | fix: add safety for empty stack on shutdown. (#1543) | Russell Keith-Magee | 2023-02-03 | 1 | -3/+11 |
| | | | | | | | | | * Add safety for empty stack on shutdown. * Correct line length linting issue. --------- Co-authored-by: Ned Batchelder <ned@nedbatchelder.com> | ||||
* | mypy: pytracer.py, the last file in coverage/ | Ned Batchelder | 2023-01-12 | 1 | -23/+36 |
| | |||||
* | mypy: use __future__ uniformly in checked files | Ned Batchelder | 2023-01-05 | 1 | -0/+2 |
| | |||||
* | mypy: partial debug.py and pytracer.py | Ned Batchelder | 2023-01-02 | 1 | -10/+12 |
| | |||||
* | mypy: check collector.py and plugin_support.py | Ned Batchelder | 2023-01-01 | 1 | -20/+26 |
| | |||||
* | docs: mentioned pull #1388 | Ned Batchelder | 2022-05-30 | 1 | -4/+3 |
| | |||||
* | perf: PyTracer improvements (#1388) | Carl Friedrich Bolz-Tereick | 2022-05-30 | 1 | -24/+41 |
| | | | | | | | | | | | | | | | | | * cache the bound method of _trace on self this speeds up pure python tracing because we don't have to re-create a bound method object all the time * optimize checking whether a file should be traced the optimization works based on the following heuristic: in a majority of cases, functions call other functions in the same file. In that situation we don't have to re-check whether we should trace the file * fix optimization in the presence of contexts * fix too long line | ||||
* | perf: set frame->f_trace_lines=0 when not tracing. ~3% faster | Ned Batchelder | 2022-05-28 | 1 | -0/+4 |
| | |||||
* | perf: speed up python tracer with frame.f_trace_lines = False (#1381) | Carl Friedrich Bolz-Tereick | 2022-05-28 | 1 | -0/+2 |
| | | | | | | | | | use the python >= 3.7 feature of being able to disable line tracing by setting the frame attribute f_trace_lines to False. This can be used for the frames of functions that we aren't collecting coverage information for (eg those functions in the stdlib). This speeds up the pure python tracer in CPython by ~9x and in PyPy by 80% on a coverage run of one realistic project that I tried. | ||||
* | debug: tweaks to make these clearer | Ned Batchelder | 2022-02-06 | 1 | -4/+3 |
| | |||||
* | debug: better tracing of pytracer changed | Ned Batchelder | 2022-01-30 | 1 | -3/+5 |
| | |||||
* | fix: proper tracing of call/return for Python 3.11.0a4 | Ned Batchelder | 2022-01-15 | 1 | -7/+16 |
| | | | | | Version 3.11.0a4 introduced RESUME, so returns and calls are different now. This change also fixes some mishandling of yield-from in previous releases. | ||||
* | fix: update pytracer.py for Python 3.11 | Ned Batchelder | 2022-01-15 | 1 | -5/+25 |
| | |||||
* | refactor: no need for specialized pyexpat code anymore | Ned Batchelder | 2021-10-18 | 1 | -16/+0 |
| | | | | | | | | The pyexpat bug that plagued us was fixed in Python 3.4: https://bugs.python.org/issue22462 We no longer need the code that adapted to it. The test will remain, couldn't hurt. | ||||
* | refactor: use sets to collect data | Ned Batchelder | 2021-08-15 | 1 | -15/+15 |
| | | | | | | | 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. | ||||
* | feat: warnings are now real warnings | Ned Batchelder | 2021-05-30 | 1 | -4/+2 |
| | | | | | | This makes coverage warnings visible when running test suites under pytest. But it also means some uninteresting warnings would show up in our own test suite, so we had to catch or suppress those. | ||||
* | refactor: pyupgrade --py36-plus coverage/*.py | Ned Batchelder | 2021-05-02 | 1 | -2/+2 |
| | |||||
* | refactor: remove code explicitly choosing between py2 and py3 | Ned Batchelder | 2021-05-01 | 1 | -2/+0 |
| | |||||
* | Use current_thread instead of currentThread that was deprecated in Python 3.10 | Karthikeyan Singaravelan | 2021-04-17 | 1 | -4/+4 |
| | |||||
* | fix: avoid tracing pytracer.py | Ned Batchelder | 2021-02-21 | 1 | -8/+37 |
| | | | | Also, adjust the logging available in pytracer | ||||
* | Revert "Silence previously unreported pylint warnings" | Ned Batchelder | 2020-12-31 | 1 | -7/+7 |
| | | | | | | | | | | This reverts commit 9169aeadf5cf9e4fc30cd76ef53c0dff2ec946ef. Pylint reports different errors on Mac and Linux! https://github.com/PyCQA/pylint/issues/3489 Put things back to where Mac is a clean report. | ||||
* | Silence previously unreported pylint warnings | Ned Batchelder | 2020-11-29 | 1 | -7/+7 |
| | |||||
* | Fix a typo | Ned Batchelder | 2019-12-07 | 1 | -1/+1 |
| | |||||
* | Python tracer supports dynamic contexts. #846 | Ned Batchelder | 2019-09-15 | 1 | -4/+34 |
| | |||||
* | No need for format indexes (mostly) | Ned Batchelder | 2019-09-01 | 1 | -1/+1 |
| | |||||
* | Use pylint 2.x | Ned Batchelder | 2019-05-13 | 1 | -2/+2 |
| | |||||
* | Update NOTICE link to GitHub. | Ned Batchelder | 2018-06-24 | 1 | -1/+1 |
| | |||||
* | Pylint 1.8.1, and fix its new warnings | Ned Batchelder | 2017-12-23 | 1 | -1/+1 |
| | |||||
* | Commented-out debugging of pytracer | Ned Batchelder | 2017-11-24 | 1 | -4/+25 |
| | |||||
* | FIX always remove the callback from the callback itself | Olivier Grisel | 2017-09-04 | 1 | -7/+12 |
| | | | | | --HG-- branch : fix-thread-safety | ||||
* | FIX thread-safe Collector.save_data() | Olivier Grisel | 2017-08-10 | 1 | -0/+3 |
| | | | | | --HG-- branch : fix-thread-safety | ||||
* | Add slugs to warnings in prep for suppressable warnings | Ned Batchelder | 2017-04-03 | 1 | -1/+4 |
| | |||||
* | Minimal IronPython support. | Ned Batchelder | 2017-03-14 | 1 | -1/+1 |
| | | | | | IronPython is weird: 2.7.7 has "str is unicode", and unicode.encode produces unicode! f_lasti is missing, and frame globals are missing. | ||||
* | Collecting continues after saving data. #79 #448 | Ned Batchelder | 2017-03-03 | 1 | -0/+10 |
| | |||||
* | Hmm, not sure why this was a list. | Ned Batchelder | 2017-02-19 | 1 | -1/+1 |
| | |||||
* | Jython doesn't have useful co_code or f_lasti | Ned Batchelder | 2017-01-13 | 1 | -2/+3 |
| | |||||
* | When nesting tracers, don't restart on the wrong thread | Ned Batchelder | 2017-01-02 | 1 | -3/+11 |
| | |||||
* | The PyPy-specific test for atexit/gettrace are also PyPy-version-specific... | Ned Batchelder | 2016-12-31 | 1 | -1/+1 |
| | |||||
* | Don't warn about trace=None on PyPy at shutdown | Ned Batchelder | 2016-12-30 | 1 | -3/+12 |
| | | | | | | | | PyPy clears the trace function before calling atexit functions. So when we check if the trace function is changed, don't warn in that specific case. --HG-- extra : amend_source : a4e946f94b9b84d351a9e112a7eea6a3337bacf1 | ||||
* | A thread tweak suggested in #245 | Ned Batchelder | 2016-05-07 | 1 | -1/+1 |
| | |||||
* | Entry arcs now use the negative first line of the code object instead of -1. | Ned Batchelder | 2016-03-02 | 1 | -2/+5 |
| | |||||
* | OMG, sometimes the hardest problems have simple solutions. Now metacoverage ↵ | Ned Batchelder | 2015-08-30 | 1 | -0/+1 |
| | | | | works with the Python tracer. | ||||
* | Too many things named "arcs". Rename the booleans. | Ned Batchelder | 2015-08-08 | 1 | -4/+4 |
| | |||||
* | Add license mention to the top of all files. #313. | Ned Batchelder | 2015-07-24 | 1 | -1/+4 |
| | |||||
* | Fix branch coverage for yield statements. #308 #324 | Ned Batchelder | 2015-04-20 | 1 | -5/+19 |
| | | | | | | | | | | | Turns out the "call" and "return" trace events are really "start frame" and "end frame". They happen not only when functions are entered and left, but when generators yield and resume. We aren't interested in arcs into and out of yield statements, so the trace functions look more closely to see what's really happening, and record an arc in human-friendly terms. Thanks for Mickie Betz for pushing on this bug, although her code is no longer here. :( | ||||
* | Remove 4 pylint warnings. | Ned Batchelder | 2015-02-09 | 1 | -1/+1 |
| | |||||
* | Plugin support is now only in the CTracer, not in the PyTracer. | Ned Batchelder | 2015-02-09 | 1 | -40/+8 |
| | |||||
* | Make sure check_include isn't called more than once per file. | Ned Batchelder | 2014-11-28 | 1 | -1/+5 |
| | |||||
* | Use the on/off condition to turn off a little more code in PyTracer. | Ned Batchelder | 2014-11-28 | 1 | -6/+6 |
| | |||||
* | Try out pylint spelling. Kinda noisy, but fixed some stuff. | Ned Batchelder | 2014-11-27 | 1 | -2/+2 |
| |