Commit Graph

195 Commits

Author SHA1 Message Date
Itamar Turner-Trauring
d52e48f2aa Run flake8 on Python 3. 2021-05-07 09:41:30 -04:00
Itamar Turner-Trauring
30c03d085e Newer versions of setuptools and pip, to work better with newer Pythons. 2021-05-05 10:34:10 -04:00
Itamar Turner-Trauring
ebedc660bd Note coverage explicitly in envlist. 2021-05-05 10:12:42 -04:00
Itamar Turner-Trauring
ea2db971a6 Try to make GitHub Actions automatically use appropriate Tox envs by using
`tox-gh-actions` package.
2021-05-05 10:06:35 -04:00
Sajith Sasidharan
964a637156
Merge pull request #1033 from tahoe-lafs/3666.sphinx-warnings-are-errors
Turn sphinx-build's warnings into errors

Fixes: ticket:3666
2021-04-12 21:44:19 -04:00
Itamar Turner-Trauring
7ff5846b85 New towncrier has different command-line option. 2021-04-06 09:41:33 -04:00
Sajith Sasidharan
9a793a9320 Turn sphinx-build's warnings into errors 2021-04-04 08:50:52 -04:00
Sajith Sasidharan
93dff0e6ad Use sphinx_rtd_theme when building docs locally
Default theme that Sphinx uses is not consistent with what we have at
https://tahoe-lafs.readthedocs.io.  Being consistent with rtd might
help future doc writers.
2021-03-09 15:42:48 -05:00
Itamar Turner-Trauring
061f886f45 Fix typo. 2021-03-05 09:42:06 -05:00
Itamar Turner-Trauring
f75eda1255 Merge remote-tracking branch 'origin/master' into 3618.bb-tests-python-3 2021-03-02 09:00:09 -05:00
Jean-Paul Calderone
99f6a692d4
Merge pull request #991 from LeastAuthority/3623.pin-twisted
Set an upper bound for Twisted until type situation is resolved

Fixes: ticket:3623
2021-03-02 08:14:48 -05:00
Jean-Paul Calderone
e0339b448d Pin it in the tox configuration
Because why should setup.py matter?
2021-03-01 12:49:20 -05:00
Jean-Paul Calderone
386784110f Maybe this way works 2021-03-01 12:46:44 -05:00
Itamar Turner-Trauring
70c0607789 Enable BytesWarning across all tests ported to Python 3, fixing problems that caught. 2021-02-24 14:36:15 -05:00
Itamar Turner-Trauring
caad978c24 Clarify the comment. 2021-02-22 09:39:31 -05:00
Itamar Turner-Trauring
b71a90deb7 Check some packages, at least, for unicode-vs-bytes issues 2021-02-12 11:49:14 -05:00
Itamar Turner-Trauring
92058e04b9 Make sure typechecks run under Python 3. 2021-02-03 10:19:41 -05:00
Itamar Turner-Trauring
49300ccc4e Merge remote-tracking branch 'origin/master' into 3584.integration-tests-sftp 2021-01-26 09:53:51 -05:00
Jean-Paul Calderone
b139876a15 Merge remote-tracking branch 'origin/master' into 3536.sphinx-warnings 2021-01-25 10:52:34 -05:00
Itamar Turner-Trauring
0902c8e156 Merge remote-tracking branch 'origin/master' into 3584.integration-tests-sftp 2021-01-21 13:34:51 -05:00
Jason R. Coombs
c7a4cdb44d Rely on main branch of foolscap for typechecks. 2021-01-15 15:25:07 -05:00
Itamar Turner-Trauring
20e90b4b65 Set 2021-01-13 10:21:00 -05:00
Sajith Sasidharan
65926d6e70 Install recommonmark in tox "docs" environment
We're going to need markdown support to render contributor covenant.
2021-01-08 13:48:04 -05:00
Jason R. Coombs
3951257cd7 Switch to mypy-zope main branch. 2020-12-27 16:17:59 -05:00
Jason R. Coombs
574613a892 Merge branch 'master' into 3399.mypy 2020-12-26 12:45:09 -05:00
Jean-Paul Calderone
d50a1151bc verbose is kind of annoying for normal use 2020-12-01 09:54:28 -05:00
Jason R. Coombs
4b559ffc33 Add typechecks to tox run 2020-11-29 13:57:46 -05:00
Jason R. Coombs
6d2d82d7b7 Use pre-release versions of foolscap and mypy-zope with intended support for RemoteInterface subclasses. 2020-11-29 13:57:46 -05:00
Jason R. Coombs
ab54585558 Incorporate mypy-zope to support zope interfaces. 2020-11-29 13:57:46 -05:00
Jason R. Coombs
ee9d9d7984 Add mypy checks as separate tox environment. 2020-11-29 13:57:46 -05:00
Jean-Paul Calderone
263ada9be4 Get rid of the spurious quotes in the flake8 command
I don't understand tox.ini syntax or quoting rules and I don't see any
documentation about it.  But what could go wrong with trial and error?
2020-11-27 16:24:16 -05:00
Jean-Paul Calderone
38dd0d1b70 Only run codechecks on changed Python source files 2020-11-19 11:12:08 -05:00
Jean-Paul Calderone
55c83106ed
Merge pull request #880 from tahoe-lafs/3492.run-deprecations-cleanup
run-deprecations.py cleanup

Fixes: ticket:3492
2020-10-31 19:25:59 -04:00
Jean-Paul Calderone
78f0d76099 get rid of the PYTHONWARNINGS-inspecting code 2020-10-27 14:25:20 -04:00
Jean-Paul Calderone
03a6546f00 flake8 integration 2020-10-27 09:29:24 -04:00
Ross Patterson
b306475370 test(runner): Save iteration time, fail early
The `codechecks` commands run fastest and show the most obvious errors so no need to
wait for the longer-running other tests first.
2020-09-25 10:22:04 -07:00
Ross Patterson
2ef422e064 test(vcs): Add a VCS push hook to run tests
Personally, I can't stand working without a VCS hook anymore.  It saves me so much time
in context switches from revisiting and revising PRs when I see that the CI run is red.
Much better to fail before I push so I can revise while the relevant changes are fresh
in my head.

In order to start using this, one has to run `$ make build` first.  Should I add that
and make other documentation changes in the wiki related to my changes in this PR?
2020-09-25 10:18:11 -07:00
Ross Patterson
ce20ac6a74 test(coverage): Avoid redundant test runs
There's no need in almost all cases to run the tests both under the coverage collector
and without it.  This fixes the default set of tests to avoid that.  Specifically, don't
run tests under the coverage collector by default for all environments since we don't
capture any error or failure conditions on reporting coverage anyways.
2020-09-24 12:38:42 -07:00
Ross Patterson
1593ff5c52 test(coverage): Include human-readable coverage report
While the XML coverage report is useful for consumption by other tools, such as
currently by codecov.io in CI, it's not very useful for humans reviewing the immediate
impact of changes on coverage during local development or while monitoring CI output.  I
don't think running the text report takes much more time so I don't see a downside
here.
2020-09-24 11:37:37 -07:00
Ross Patterson
0c533733f0 test(runner): Match contributor guidelines from wiki
The [Patches Trac Wiki page](https://tahoe-lafs.org/trac/tahoe-lafs/wiki/Patches) says
that users should run the `codechecks` tox environment, so this change runs it be
default as the full tox test suite eliminating the extra step.
2020-09-24 11:36:58 -07:00
Ross Patterson
d0d11a5444 fix(style): Wrong Python version for codechecks
On systems where the default Python is Python 3 (such as on recent Debian/Ubuntu
versions), then `$ tox -e codechecks` has a ton of failures related to Python 3
compatibility.  This explicitly forces it to use Python 2.7 until we have Python 3
compatibility.
2020-09-18 11:59:40 -07:00
Jason R. Coombs
a3f5a0d7ac Merge branch 'master' into 3394.py38-tests 2020-08-30 12:06:56 -04:00
Jean-Paul Calderone
0ed4f81e62 Replace tabs with spaces 2020-08-27 10:40:27 -04:00
Jean-Paul Calderone
44126f840c Refactor tox config to reduce duplication between py2/py3/coverage
The following tox envs are now defined:

- py27
- py27-coverage
- py36
- py36-coverage
2020-08-26 14:36:09 -04:00
Jason R. Coombs
b591181b02 In py36 env, run the tahoe --version command now that it runs without error. 2020-08-21 19:55:34 -04:00
Jean-Paul Calderone
f7c3c53206
Go directly to trial instead of the ratchet helper 2020-08-14 11:19:01 -04:00
Jean-Paul Calderone
9695e87fbd
Revert to master version of these configs 2020-08-14 11:16:45 -04:00
Chad Whitacre
96e3d94172 Fold py36 back into normal tox run
This removes the individual-test-based ratchet.
2020-08-13 05:55:48 -04:00
Jean-Paul Calderone
4a4a88773e
Merge remote-tracking branch 'origin/master' into 3336.py36-off-travis 2020-08-10 10:31:26 -04:00
Jean-Paul Calderone
9853fa9090
Pin Python 2 compatible PyInstaller 2020-08-10 09:59:36 -04:00
Jean-Paul Calderone
f4e1062aa4
Merge remote-tracking branch 'origin/master' into 3336.py36-off-travis 2020-08-10 09:13:01 -04:00
Jean-Paul Calderone
360a97a579
Let the python36 job have the env vars 2020-08-07 23:08:48 -04:00
Chad Whitacre
2a6cd8eb58 Get tox -e codechecks to work (on macOS?)
Without this, git fails underneath towncrier with an "error: Could not
expand include path '~/.gitcinclude'".

See: https://stackoverflow.com/q/36908041

I had added similar for `tox -e py36` in d25c8b1a.
2020-08-03 21:19:26 -04:00
Jean-Paul Calderone
612afdcf7c
that is useless, the error is in the docker image build 2020-08-03 17:02:15 -04:00
Jean-Paul Calderone
a513c7ab28
try setting it in here 2020-08-03 17:02:15 -04:00
Jean-Paul Calderone
ec7531f113
maybe this will let it get to the right place 2020-08-03 17:02:15 -04:00
Chad Whitacre
d25c8b1a25 Start ratcheting up passing tests under Python 3 2020-07-13 22:42:48 -04:00
Chad Whitacre
b47b4a468b Prevent Nevow from blocking us
Per https://github.com/tahoe-lafs/tahoe-lafs/pull/732#issuecomment-653059972
2020-07-13 22:28:00 -04:00
Chad Whitacre
73c40e8d2a Minimally add py36 to CI 2020-07-13 22:27:59 -04:00
Itamar Turner-Trauring
906d6ac291 Switch to flake8 as a better way of running pyflakes. 2020-07-06 13:50:06 -04:00
Jean-Paul Calderone
3c1bffdc9e
Don't install Twisted trunk@HEAD since it doesn't support Python 2 2020-04-13 10:36:54 -04:00
meejah
241b5a3d36 use Tox to build NEWS 2020-03-11 10:54:21 -06:00
Sajith Sasidharan
bcfd3a5eb8 Pass posargs to py.test when running integration tests
Running "tox -e integration" takes a while.  It would be helpful to
run tests from just one file.  With this change, we can do that, like
so:

  $ tox -e integration -- integration/test_web.py

Or even just one test, like so:

  $ tox -e integration -- integration/test_web.py::test_index

With this investigating failing integration tests will be a little
easier, hopefully.

Fixes: ticket:3285
2020-03-06 15:37:19 -05:00
Jean-Paul Calderone
9a6d5cb628 Attempt to inherit the base dependencies in the pyinstaller env 2020-01-20 11:35:14 -05:00
Jean-Paul Calderone
55b87b264c use --pyproject 2020-01-09 14:20:33 -05:00
Jean-Paul Calderone
b9e794a5c8 Merge remote-tracking branch 'meejah/codechecks-delete-local.0' into 2941.codechecks-clean 2020-01-09 14:19:46 -05:00
Chris Wood
ee5a0d27bd Add 'pip freeze' step to 'pyinstaller' tox testenv 2019-10-07 11:30:10 -04:00
meejah
e178d7d809
Merge pull request #524 from meejah/2942.towncrier-draft
add a 'draftnews' tox environment
2019-09-03 10:47:05 -06:00
meejah
ba5f44354b
Merge pull request #636 from meejah/integration-test-coverage
coverage for integration tests
2019-08-08 18:40:29 +00:00
meejah
43162f2ffe combine for normal runs, too 2019-08-07 13:51:05 -06:00
meejah
8e4b05214a add --coverage for integration tests 2019-08-06 16:47:43 -06:00
Jean-Paul Calderone
bb385d45f7 teach tox about the new --package option 2019-08-02 18:29:04 -06:00
Jean-Paul Calderone
39d989676a Attempt to define pypy27 and pypy27-coverage tox environments 2019-06-25 14:16:09 -04:00
tpltnt
cbec4f803a fixing codechecks / lint for circleci 2019-05-22 10:31:08 +02:00
Jean-Paul Calderone
b4459c2dc1 Merge remote-tracking branch 'origin/master' into 3029.install-test-plugins 2019-05-14 06:26:19 -04:00
Jean-Paul Calderone
0294d14401 explain the new pip freeze in the coverage commands 2019-05-14 03:37:35 -04:00
Jean-Paul Calderone
aec341eea8 explain the pinning in tox deps config 2019-05-14 03:36:34 -04:00
Jean-Paul Calderone
1717243212 Re-pin these because it's nice to know what versions we're using 2019-05-13 11:32:02 -04:00
Jean-Paul Calderone
7c71dd6e14 going to try another fix 2019-05-13 11:18:39 -04:00
Jean-Paul Calderone
27962dcd2f Try pinning *new* versions
Tox released 4 hours ago ******BROKE****** everything by removing the
upgrade-these-packages-automatically feature.

Not that I'm bitter.
2019-05-13 11:14:05 -04:00
Jean-Paul Calderone
33bd9bf503 Get a not-*quite*-so-old version of pip 2019-05-13 10:31:46 -04:00
Jean-Paul Calderone
abf319888d Try pinning pip another way
Previous commit didn't yield any information because the error happens before
the commands are run.
2019-05-13 10:27:41 -04:00
Jean-Paul Calderone
f17647f29c Find out what versions are in the tox environment 2019-05-13 10:23:18 -04:00
Jean-Paul Calderone
af3905ac32 Cannot skipsdisk if you don't want usedevelop 2019-05-08 18:42:17 -06:00
Jean-Paul Calderone
383d1361c8 Turn off usedevelop
It produces less useful test results by testing against a "develop"-installed
codebase.  This masks bugs in our setup.py.
2019-05-08 18:42:17 -06:00
meejah
1f5b647bee simplify comment (from review) 2019-04-09 15:35:45 -06:00
meejah
c731473d9e newer towncrier works with py2.7 2019-04-09 15:35:29 -06:00
meejah
23cd5f1526 add a 'draftnews' tox environment 2019-04-09 15:00:12 -06:00
Jean-Paul Calderone
fec5064a2f Get pip and pyinstaller working together. 2019-01-25 10:46:23 -05:00
Jean-Paul Calderone
6d28d08299
Revert "Get pip 19 and pyinstaller 3.4 working together" 2019-01-24 10:33:59 -05:00
Jean-Paul Calderone
007d13d357 watch out when copy/pasting from tox docs 2019-01-23 16:48:34 -05:00
Jean-Paul Calderone
d6bf0d0b25 Try to get pip 19 and pyinstaller 3.4 working together 2019-01-23 16:09:25 -05:00
Jean-Paul Calderone
812125a71f Remove the basepython declaration from the testenv
This works around https://github.com/tox-dev/tox/issues/1020
2019-01-23 11:45:19 -05:00
meejah
821e6c3d07 let 'tahoe -e codechecks' run w/o making local changes 2018-08-27 15:25:48 -06:00
Jean-Paul Calderone
436cb8fda6 A different work-around for the pep 518 mess 2018-08-06 12:13:33 -04:00
Jean-Paul Calderone
70589aab3d attempt to work around the pip build isolation problem 2018-08-06 12:13:33 -04:00
Jean-Paul Calderone
b13f1cc531 try with only one extra 2018-08-06 12:13:33 -04:00
Jean-Paul Calderone
2422b959df absolute minimum documentation 2018-08-06 10:32:16 -04:00
Jean-Paul Calderone
e0e0abf019 Check for the towncrier news fragment as part of the tox codechecks env. 2018-08-06 10:28:45 -04:00
Jean-Paul Calderone
12a36abf63 Attempt to have a cached wheelhouse for pip 2018-07-09 13:36:40 -04:00