[Imported from Trac: page Python3, version 29]

chadwhitacre 2020-10-06 11:15:47 +00:00
parent 3b1bd9811f
commit b48bdc47a6

@ -11,16 +11,16 @@
We use [tox](https://tox.readthedocs.io/en/latest/) to standardize environments across developers and CI. We use [tox](https://tox.readthedocs.io/en/latest/) to standardize environments across developers and CI.
1. Install tox (globally, probably; consider [pipx](https://pipxproject.github.io/pipx/)). 1. Install tox (globally, probably; consider [pipx](https://pipxproject.github.io/pipx/)).
2. In your Tahoe-LAFS working copy, run `tox -e py36 --notest` to bootstrap the `py36` virtualenv. 1. In your Tahoe-LAFS working copy, run `tox -e py36 --notest` to bootstrap the `py36` virtualenv.
3. Activate the environment with `source .tox/py36/bin/activate` or equivalent and wire up for local dev with `pip install -e .` 1. Activate the environment with `source .tox/py36/bin/activate` or equivalent.
4. Run `trial allmydata.test.test_python3` as a smoke test. 1. Wire up for local dev with `pip install -e .`
5. `deactivate` the virtualenv (or switch shells) and run `tox -e py36` to exercise the whole suite. 1. Run `trial allmydata.test.test_python3` as a smoke test.
1. Options for exercising the whole suite of ported tests (NB: `test_python3` != `python3_tests`):
1. `trial allmydata.test.python3_tests`
1. `python -m allmydata.test.python3_tests`
1. `deactivate` the virtualenv (or switch shells) and run `tox -e py36`
## Who is doing what ## Worklist
- **todo**: not started yet
- **doing**: started but not finished, might have an assignee
- **done**: finished!
| | | | | | | |
|---|---|---| |---|---|---|
@ -138,8 +138,4 @@ One of them is the `bytes` objects:
## Don't leak Future objects ## Don't leak Future objects
Leaking Future objects (newints, new dicts, new bytes) in module API can break existing code on Python 2. So need to be careful not to do that. For that reason int isn't in the suggested `from builtins import ...` list above. Leaking Future objects (newints, new dicts, new bytes) in module API can break existing code on Python 2. So need to be careful not to do that. For that reason int isn't in the suggested `from builtins import ...` list above.
## Other notes
If you just want to run the tests from the explicitly ported test modules, you can do `python -m allmydata.test.python3_tests`.