-
-
Notifications
You must be signed in to change notification settings - Fork 31.6k
Document how to run coverage for repository idlelib files. #75117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I have been using coverage for a few years. Now that I am (again) not the only one writing IDLE tests (others did 3 and 4 years ago), I should document what I do and in particular the policy decision -- test with 'branch=True' -- and the IDLE-specific excludes: |
After merging this one, I can provide the version of Linux and MacOS. |
That would be good; I might need to know someday;-). |
I generalized the first part so only the .bat file needs a *nix version. |
Upload the Linux/MacOS version of coverage usage. |
Cheryl, please try Louie's linux instructions and see if they work on Ubuntu. |
I tried out the instructions. I guess my first question is how stand alone these instructions are and how much you expect someone to already know about coverage. What I mean is, I needed to go to the devguide to read more about coverage in order to run the steps here. For example, the devguide suggests creating a venv before running pip install coverage. If I do that and go into the venv, then I could do (with python instead of ./python): python -m coverage run --source Lib/idlelib Lib/idlelib/idle_test/test_config.py Those steps seem to work. Without the venv, ./python -m coverage doesn't work without the pip install (I get the 'No module named coverage' error). At some point (as per the devguide), I had also downloaded the in-development version, so I am able to run At the time, the devguide suggested the in development version because it was more recent for 3.7 than the released version was, but it seems that the version on pip is the most current now. Just like everything else, it seems that there are a few ways to go with this, but the venv with pip install seems to be the most foolproof. I don't know if you'd also want to include instructions for running coverage over all of idle_test instead of just one module. (without the ./python) |
I update how to prepare coverage on Linux and MacOS. I first thought user will prepare as Terry wrote at the top of Cheryl's method is good, the update guide is borrow from here. First create a virtualenv, then install coverage via pip in venv. If user want to skip the step of venv, they can copy out the coverage package in venv/lib/ to Lib/ inside. |
Tal, this is an existing issue about documenting how to run IDLE coverage. It was left open to add something about the *nix equivalent of my Windows instructions. I would like to finish this, with updates elsewhere in the text. I'm dubious about Louie's patch (PR 2733) for multiple reasons: it starts with venv's, which I consider a separate issue; it gives the commands that might go in a script, but does not comprise a script itself; I cannot tell if it uses an IDLE specific .coverage. Louie ceased IDLE involvement in Sept 2017, so I am closing his patch in favor of whatever you might contribute. The .coveragerc copied into the README is missing some additions, and I plan to add some annotations to the original. Do you think it better to have a copy in README.txt, or a separate .coveragerc file in idle_test? Same question for cover.bat. "5. Test Coverage" begins with "Install the coverage package into your Python 3.6 site-packages directory." That should be '3.x' or 'the most recent installed Python possible', so it is most likely to be compatible with current master branch python. I should also mention that we only need coverage on master, and have other revisions in mind. Cheryl mentioned above instructions for coverage of all IDLE tests. I have the command, commented out, in my original cover.bat. After retesting, I could add it, commented out, to the copy. |
See a cross-platform script in PR #226941. Footnotes
|
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: