Commit Graph
126 Commits
Author SHA1 Message Date
Takeshi KOMIYA 09623a97d0 Merge branch '2.x' into 3.x 2020-03-05 23:11:14 +09:00
Takeshi KOMIYA 3e7b18e971 Unpin coverage package
coverage-5.0 expects to set "parallel = True" on config file.
refs: https://github.com/nedbat/coveragepy/issues/716#issuecomment-429491441
2020-03-05 22:38:47 +09:00
Takeshi KOMIYA 2bec3f8cbd Merge pull request #7248 from blueyed/tox-passenv-term
tox: passenv: add TERM
2020-03-05 01:30:05 +09:00
Daniel Hahler 933897c40b tox: passenv: add TERM
tox is stupid to not include TERM by default
(https://github.com/tox-dev/tox/issues/1441).

This makes `tox -e docs` use proper progress indicators.

It splits `passenv` into a list to make diffs easier in the future.

Output from `tox -e docs` before:

```
Running Sphinx v4.0.0+/4633ab906
loading pickled environment... failed
failed: build environment version not current
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 77 source files that are out of date
updating environment: [new config] 77 added, 0 changed, 0 removed
reading sources... [  1%] authors
reading sources... [  2%] changes
reading sources... [  3%] code_of_conduct
reading sources... [  5%] contents
reading sources... [  6%] develop
reading sources... [  7%] development/tutorials/examples/README
reading sources... [  9%] development/tutorials/helloworld
reading sources... [ 10%] development/tutorials/index
reading sources... [ 11%] development/tutorials/recipe
reading sources... [ 12%] development/tutorials/todo
reading sources... [ 14%] devguide
reading sources... [ 15%] examples
reading sources... [ 16%] extdev/appapi
reading sources... [ 18%] extdev/builderapi
reading sources... [ 19%] extdev/collectorapi
reading sources... [ 20%] extdev/deprecated
reading sources... [ 22%] extdev/domainapi
reading sources... [ 23%] extdev/envapi
reading sources... [ 24%] extdev/i18n
reading sources... [ 25%] extdev/index
reading sources... [ 27%] extdev/logging
reading sources... [ 28%] extdev/markupapi
reading sources... [ 29%] extdev/nodes
reading sources... [ 31%] extdev/parserapi
reading sources... [ 32%] extdev/projectapi
reading sources... [ 33%] extdev/utils
reading sources... [ 35%] faq
reading sources... [ 36%] glossary
reading sources... [ 37%] intro
reading sources... [ 38%] latex
reading sources... [ 40%] man/index
reading sources... [ 41%] man/sphinx-apidoc
reading sources... [ 42%] man/sphinx-autogen
reading sources... [ 44%] man/sphinx-build
reading sources... [ 45%] man/sphinx-quickstart
reading sources... [ 46%] templating
reading sources... [ 48%] theming
reading sources... [ 49%] usage/advanced/intl
reading sources... [ 50%] usage/advanced/setuptools
reading sources... [ 51%] usage/advanced/websupport/api
/tmp/tox/home/daniel/Vcs/sphinx/docs/lib/python3.8/site-packages/sphinxcontrib/websupport/__init__.py:18: RemovedInSphinx40Warning: sphinx.util.pycompat.htmlescape is deprecated. Check CHANGES for Sphinx API modifications.
  from sphinxcontrib.websupport.core import WebSupport  # NOQA
reading sources... [ 53%] usage/advanced/websupport/index
reading sources... [ 54%] usage/advanced/websupport/quickstart
reading sources... [ 55%] usage/advanced/websupport/searchadapters
reading sources... [ 57%] usage/advanced/websupport/storagebackends
reading sources... [ 58%] usage/builders/index
reading sources... [ 59%] usage/configuration
reading sources... [ 61%] usage/extensions/autodoc
reading sources... [ 62%] usage/extensions/autosectionlabel
reading sources... [ 63%] usage/extensions/autosummary
reading sources... [ 64%] usage/extensions/coverage
reading sources... [ 66%] usage/extensions/doctest
reading sources... [ 67%] usage/extensions/duration
reading sources... [ 68%] usage/extensions/example_google
reading sources... [ 70%] usage/extensions/example_numpy
reading sources... [ 71%] usage/extensions/extlinks
reading sources... [ 72%] usage/extensions/githubpages
reading sources... [ 74%] usage/extensions/graphviz
reading sources... [ 75%] usage/extensions/ifconfig
reading sources... [ 76%] usage/extensions/imgconverter
reading sources... [ 77%] usage/extensions/index
reading sources... [ 79%] usage/extensions/inheritance
reading sources... [ 80%] usage/extensions/intersphinx
reading sources... [ 81%] usage/extensions/linkcode
reading sources... [ 83%] usage/extensions/math
reading sources... [ 84%] usage/extensions/napoleon
reading sources... [ 85%] usage/extensions/todo
reading sources... [ 87%] usage/extensions/viewcode
reading sources... [ 88%] usage/installation
reading sources... [ 89%] usage/markdown
reading sources... [ 90%] usage/quickstart
reading sources... [ 92%] usage/restructuredtext/basics
reading sources... [ 93%] usage/restructuredtext/directives
reading sources... [ 94%] usage/restructuredtext/domains
reading sources... [ 96%] usage/restructuredtext/field-lists
reading sources... [ 97%] usage/restructuredtext/index
reading sources... [ 98%] usage/restructuredtext/roles
reading sources... [100%] usage/theming

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [  1%] authors
writing output... [  2%] changes
writing output... [  3%] code_of_conduct
writing output... [  5%] contents
writing output... [  6%] develop
writing output... [  7%] development/tutorials/examples/README
writing output... [  9%] development/tutorials/helloworld
writing output... [ 10%] development/tutorials/index
writing output... [ 11%] development/tutorials/recipe
writing output... [ 12%] development/tutorials/todo
writing output... [ 14%] devguide
writing output... [ 15%] examples
writing output... [ 16%] extdev/appapi
writing output... [ 18%] extdev/builderapi
writing output... [ 19%] extdev/collectorapi
writing output... [ 20%] extdev/deprecated
writing output... [ 22%] extdev/domainapi
writing output... [ 23%] extdev/envapi
writing output... [ 24%] extdev/i18n
writing output... [ 25%] extdev/index
writing output... [ 27%] extdev/logging
writing output... [ 28%] extdev/markupapi
writing output... [ 29%] extdev/nodes
writing output... [ 31%] extdev/parserapi
writing output... [ 32%] extdev/projectapi
writing output... [ 33%] extdev/utils
writing output... [ 35%] faq
writing output... [ 36%] glossary
writing output... [ 37%] intro
writing output... [ 38%] latex
writing output... [ 40%] man/index
writing output... [ 41%] man/sphinx-apidoc
writing output... [ 42%] man/sphinx-autogen
writing output... [ 44%] man/sphinx-build
writing output... [ 45%] man/sphinx-quickstart
writing output... [ 46%] templating
writing output... [ 48%] theming
writing output... [ 49%] usage/advanced/intl
writing output... [ 50%] usage/advanced/setuptools
writing output... [ 51%] usage/advanced/websupport/api
writing output... [ 53%] usage/advanced/websupport/index
writing output... [ 54%] usage/advanced/websupport/quickstart
writing output... [ 55%] usage/advanced/websupport/searchadapters
writing output... [ 57%] usage/advanced/websupport/storagebackends
writing output... [ 58%] usage/builders/index
writing output... [ 59%] usage/configuration
writing output... [ 61%] usage/extensions/autodoc
writing output... [ 62%] usage/extensions/autosectionlabel
writing output... [ 63%] usage/extensions/autosummary
writing output... [ 64%] usage/extensions/coverage
writing output... [ 66%] usage/extensions/doctest
writing output... [ 67%] usage/extensions/duration
writing output... [ 68%] usage/extensions/example_google
writing output... [ 70%] usage/extensions/example_numpy
writing output... [ 71%] usage/extensions/extlinks
writing output... [ 72%] usage/extensions/githubpages
writing output... [ 74%] usage/extensions/graphviz
writing output... [ 75%] usage/extensions/ifconfig
writing output... [ 76%] usage/extensions/imgconverter
writing output... [ 77%] usage/extensions/index
writing output... [ 79%] usage/extensions/inheritance
writing output... [ 80%] usage/extensions/intersphinx
writing output... [ 81%] usage/extensions/linkcode
writing output... [ 83%] usage/extensions/math
writing output... [ 84%] usage/extensions/napoleon
writing output... [ 85%] usage/extensions/todo
writing output... [ 87%] usage/extensions/viewcode
writing output... [ 88%] usage/installation
writing output... [ 89%] usage/markdown
writing output... [ 90%] usage/quickstart
writing output... [ 92%] usage/restructuredtext/basics
writing output... [ 93%] usage/restructuredtext/directives
writing output... [ 94%] usage/restructuredtext/domains
writing output... [ 96%] usage/restructuredtext/field-lists
writing output... [ 97%] usage/restructuredtext/index
writing output... [ 98%] usage/restructuredtext/roles
writing output... [100%] usage/theming

generating indices...  genindex py-modindexdone
highlighting module code... [  2%] docutils.parsers.rst
highlighting module code... [  4%] logging
highlighting module code... [  7%] sphinx.addnodes
highlighting module code... [  9%] sphinx.application
highlighting module code... [ 11%] sphinx.builders
highlighting module code... [ 14%] sphinx.builders.changes
highlighting module code... [ 16%] sphinx.builders.dirhtml
highlighting module code... [ 19%] sphinx.builders.dummy
highlighting module code... [ 21%] sphinx.builders.epub3
highlighting module code... [ 23%] sphinx.builders.gettext
highlighting module code... [ 26%] sphinx.builders.html
highlighting module code... [ 28%] sphinx.builders.latex
highlighting module code... [ 30%] sphinx.builders.linkcheck
highlighting module code... [ 33%] sphinx.builders.manpage
highlighting module code... [ 35%] sphinx.builders.singlehtml
highlighting module code... [ 38%] sphinx.builders.texinfo
highlighting module code... [ 40%] sphinx.builders.text
highlighting module code... [ 42%] sphinx.builders.xml
highlighting module code... [ 45%] sphinx.config
highlighting module code... [ 47%] sphinx.domains
highlighting module code... [ 50%] sphinx.environment
highlighting module code... [ 52%] sphinx.environment.collectors
highlighting module code... [ 54%] sphinx.errors
highlighting module code... [ 57%] sphinx.events
highlighting module code... [ 59%] sphinx.ext.autodoc
highlighting module code... [ 61%] sphinx.ext.coverage
highlighting module code... [ 64%] sphinx.locale
highlighting module code... [ 66%] sphinx.parsers
highlighting module code... [ 69%] sphinx.project
highlighting module code... [ 71%] sphinx.transforms
highlighting module code... [ 73%] sphinx.transforms.post_transforms
highlighting module code... [ 76%] sphinx.transforms.post_transforms.images
highlighting module code... [ 78%] sphinx.util.docutils
highlighting module code... [ 80%] sphinx.util.logging
highlighting module code... [ 83%] sphinxcontrib.applehelp
highlighting module code... [ 85%] sphinxcontrib.devhelp
highlighting module code... [ 88%] sphinxcontrib.htmlhelp
highlighting module code... [ 90%] sphinxcontrib.qthelp
highlighting module code... [ 92%] sphinxcontrib.serializinghtml
highlighting module code... [ 95%] sphinxcontrib.websupport.core
highlighting module code... [ 97%] sphinxcontrib.websupport.search
highlighting module code... [100%] sphinxcontrib.websupport.storage

writing additional pages...  index search opensearchdone
copying images... [  7%] _static/translation.png
copying images... [ 15%] _static/more.png
copying images... [ 23%] _static/themes/alabaster.png
copying images... [ 30%] _static/themes/classic.png
copying images... [ 38%] _static/themes/sphinxdoc.png
copying images... [ 46%] _static/themes/scrolls.png
copying images... [ 53%] _static/themes/agogo.png
copying images... [ 61%] _static/themes/traditional.png
copying images... [ 69%] _static/themes/nature.png
copying images... [ 76%] _static/themes/haiku.png
copying images... [ 84%] _static/themes/pyramid.png
copying images... [ 92%] _static/themes/bizstyle.png
copying images... [100%] _static/themes/sphinx_rtd_theme.png

copying downloadable files... [ 50%] usage/extensions/example_google.py
copying downloadable files... [100%] usage/extensions/example_numpy.py

copying static files... ... done
copying extra files... done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded.
```

After:
```
Running Sphinx v2.4.3
loading pickled environment... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 0 source files that are out of date
updating environment: 0 added, 5 changed, 0 removed
/tmp/tox/home/daniel/Vcs/sphinx/docs/lib/python3.8/site-packages/sphinxcontrib/websupport/__init__.py:18: RemovedInSphinx40Warning: sphinx.util.pycompat.htmlescape is deprecated. Check CHANGES for Sphinx API modifications.
  from sphinxcontrib.websupport.core import WebSupport  # NOQA
reading sources... [100%] usage/builders/index
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] usage/builders/index
generating indices...  genindex py-modindexdone
highlighting module code... [100%] sphinxcontrib.websupport.storage
writing additional pages...  index search opensearchdone
copying downloadable files... [100%] usage/extensions/example_numpy.py
copying static files... ... done
copying extra files... done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded.

The HTML pages are in build/sphinx/html.
```
2020-03-03 23:12:19 +01:00
Takeshi KOMIYA c09ff16a32 Clean up PYTHONWARNINGS 2020-02-16 22:23:46 +09:00
Wes Turner b2b6d240a7 BLD: tox.ini: flake8: add whitelist_externals for latest tox instead of adding dep, pass posargs through 2020-02-10 17:25:54 -05:00
Takeshi KOMIYA e7a0af807a Merge branch '2.0' 2020-01-30 23:29:32 +09:00
Takeshi KOMIYA f8fc6075ba Merge pull request #7049 from tk0miya/test_with_docutils-0.16
Test with docutils-0.16
2020-01-23 23:48:40 +09:00
Takeshi KOMIYA 00a4c13d0b Add new extras_require: lint 2020-01-23 01:42:33 +09:00
Takeshi KOMIYA ee28dace61 Use HEAD of html5lib on testing with py39 2020-01-23 01:11:51 +09:00
Takeshi KOMIYA 0bca63d611 Test with docutils-0.16 2020-01-23 00:50:57 +09:00
Takeshi KOMIYA 0e0930d712 test: Testing with docutils-0.16rc1 2019-12-21 11:38:31 +09:00
Takeshi KOMIYA 42f6b91333 CI: Pinning coverage < 5.0 2019-12-15 20:40:59 +09:00
Takeshi KOMIYA faedcc48cc Fix #6887: Sphinx crashes with docutils-0.16b0 2019-12-14 13:33:12 +09:00
Takeshi KOMIYA 81736cc828 Test with docutils-0.14 (previous release) 2019-08-02 01:53:41 +09:00
Takeshi KOMIYA 5d2c8e6eb7 Add utils/doclinter.py; a documenter linter for Sphinx 2019-05-12 17:57:25 +09:00
Takeshi KOMIYA 00a5aa7301 Add extra requirements for docs (refs: #6336) 2019-05-04 12:42:17 +09:00
Takeshi KOMIYA fcb22f2074 Merge pull request #5832 from stephenfin/bindep-integration
Add bindep integration
2019-02-17 18:25:26 +09:00
Takeshi KOMIYA d6fc5c9095 Stop to use $SPHINX_TEST_TEMPDIR envvar
At once, we added $SPHINX_TEST_TEMPDIR to keep intermediate files of
testing to investigate the failures.  At present, we've used pytest
as a test runner.  And it keeps temporary directories of last 3
testings.  So this starts to use it instead of $SPHINX_TEST_TEMPDIR.
https://docs.pytest.org/en/latest/tmpdir.html#the-default-base-temporary-directory
2019-01-13 23:50:18 +09:00
Stephen Finucane 3e2f680af3 Add bindep integration
The bindep (BINary DEPendency automation) tool is a tool for checking
the presence of binary packages needed to use an application / library.
Use it to specify the dependencies needed to successfully pass the LaTex
tests. Only Fedora targets are currently provided.

Signed-off-by: Stephen Finucane <stephen@that.guru>
2018-12-17 14:46:34 +00:00
Takeshi KOMIYA 9dfc5e7efe Add docutils-stubs to test deps 2018-12-15 02:42:43 +09:00
Jon Dufresne fc5aedd378 Simplify tox configuration with 'extras' option
https://tox.readthedocs.io/en/latest/config.html#conf-extras

> extras(MULTI-LINE-LIST)
>
> New in version 2.4.
>
> A list of “extras” to be installed with the sdist or develop install.
> For example, extras = testing is equivalent to [testing] in a pip
> install command.
2018-11-12 08:17:22 -08:00
Takeshi KOMIYA 2810f77edd Merge branch '1.8' 2018-11-09 22:10:35 +09:00
Takeshi KOMIYA 8adb20cc42 Give install_command to tox
Since tox-3.2.0, 'usedevelop' option and 'deps=.[test,websupport]'
option have been conflicted.  As a workaround, this adds
'install_command' option to avoid the situation.
2018-11-09 00:51:13 +09:00
Takeshi KOMIYA 8b687ac304 Merge branch '1.8' 2018-11-01 01:24:12 +09:00
Takeshi KOMIYA c2590a45c1 test: Give filterwarnings=all by ini file
Since pytest-3.9, precedence order of warning options had been
changed.  This moves ``-W all`` option into setup.cfg.

In detail, see https://github.com/pytest-dev/pytest/issues/3946
2018-10-30 00:01:39 +09:00
Jon Dufresne b36cc52c7d Remove pypy from tox.ini
The pypy executable is Python 2 and Python 2 support was dropped in
commit 9412bd76b7.
2018-09-07 16:15:20 -07:00
Takeshi KOMIYA aa3e590d5e Merge pull request #5370 from tk0miya/drop_deprecated_methods
Drop APIs deprecated in 2.0
2018-09-05 22:56:02 +09:00
Takeshi KOMIYA a7cab001d9 Drop APIs deprecated in 2.0 2018-09-03 00:31:33 +09:00
Takeshi KOMIYA 98a9b50c52 Drop docutils 0.11 support 2018-08-30 01:03:57 +09:00
Takeshi KOMIYA 9412bd76b7 Drop python 2.7 and 3.4 support 2018-08-30 01:03:57 +09:00
Takeshi KOMIYA 6754b531b9 Do test with py37 2018-07-28 19:12:35 +09:00
Stephen Finucane 93589a3572 tox: Run everything but unit tests under Python 3
The demise of Python 2.7 is not far off and we intend to drop support
for it in Sphinx 2.0. As a result, there probably isn't a better time
than now to start testing with Python 3 by default. There are a couple
of advantages to this:

- flake8 is stricter under Python 3 and we don't need to ignore files
  with Python 3 syntax
- We get to dogfood Sphinx against its own documentation using Python 3
- pylint gains support for Python 3 syntax

Signed-off-by: Stephen Finucane <stephen@that.guru>
2018-06-20 09:53:29 +01:00
Takeshi KOMIYA cd08872cc0 Fix existence check for JRE was broken 2018-03-20 23:35:42 +09:00
Takeshi KOMIYA 3430610a0f test: pass PYTEST_ADDOPTS to pytest 2018-02-04 22:48:45 +09:00
Stephen Finucane 4420b43e5a tox: Ignore distutils deprecation warning
distutils/__init__.py:4: DeprecationWarning: the imp module is
    deprecated in favour of importlib; see the module's documentation
    for alternative uses
      import imp

Signed-off-by: Stephen Finucane <stephen@that.guru>
2018-01-15 09:09:53 +00:00
Takeshi KOMIYA 23533e48b2 Update PYTHONWARNINGS on tox.ini to reduce meaningless warnings 2018-01-06 20:14:20 +09:00
Takeshi KOMIYA e3efe5884b Fix #4378: tox: use usedevelop option instead skipsdist 2018-01-05 22:26:07 +09:00
Stephen Finucane 60e25090a3 tox: Enable 'skipsdist'
Given that we install Sphinx as part of the dependencies, there's no
reason to do it twice. Skip that step.

Signed-off-by: Stephen Finucane <stephen@that.guru>
2017-12-29 13:02:33 +00:00
Stephen Finucane 9a3ebaaff5 Resolve warning filter issues
There's an issue with 'pkgutils' and namespace packages. This has been
reported against setuptools [1], but until this is resolved, we simply
need to live with it. Ensure said warnings are filtered from tox too and
remove some unnecessary ones.

[1] https://github.com/pypa/setuptools/issues/1111

Signed-off-by: Stephen Finucane <stephen@that.guru>
2017-12-29 13:02:32 +00:00
Stephen Finucane 7c0723fd46 tests: Remove 'tests/run.py'
This is no longer necessary. One test needs to be modified to deal with
how 'python -m pytest' modifies the PATH.

Signed-off-by: Stephen Finucane <stephen@that.guru>
2017-12-29 13:02:31 +00:00
Takeshi KOMIYA 626e8980cd Merge pull request #4337 from stephenfin/the-great-toxification
The great toxification (part 6)
2017-12-27 15:29:16 +09:00
Stephen Finucane 77ca894723 tox: Report coverage to user
Run 'coverage report' after a successful coverage run. There's enough
coverage-related stuff here at this point to warrant its own section.

Signed-off-by: Stephen Finucane <stephen@that.guru>
2017-12-24 21:24:41 +00:00
Stephen Finucane a3f9935d95 travis: Enable codecov coverage
This necessitates adding some basic coverage-py configuration [1] and
making sure the pytest-cov plugin uses said configuration [2]. Badges
are included.

Note that we do not run the 'coverage' tox target, which is reserved for
users.

[1] https://github.com/codecov/example-python
[2] https://bitbucket.org/ned/coveragepy/issues/512/

Signed-off-by: Stephen Finucane <stephen@that.guru>
2017-12-24 21:24:41 +00:00
Stephen Finucane 411055905c tox: Add 'PERL5LIB' to 'passenv' list
This is required by 'makeinfo'.

Signed-off-by: Stephen Finucane <stephen@that.guru>
Fixes #4339
2017-12-24 14:47:31 +00:00
Stephen Finucane a2a873d58a tox: Add documentation for all targets
This should make 'tox -av' more helpful.

Signed-off-by: Stephen Finucane <stephen@that.guru>
2017-12-19 15:55:10 +00:00
Stephen Finucane fd1df0815b tox: Make further use of factor-conditional deps
This is how we reduce boilerplate [1]. Succinctness FTW.

[1] https://tox.readthedocs.io/en/latest/config.html#factors-and-factor-conditional-settings

Signed-off-by: Stephen Finucane <stephen@that.guru>
2017-12-18 20:10:18 +00:00
Stephen Finucane 5d812ccefc tox: Add 'coverage' target
Enabling coverage results in an increase in runtime, and while this may
be an acceptable compromise for some developers, it's not necessarily
something we need to run all the time. Move it to a separate target so
it can be run only by those who wish to use it.

Signed-off-by: Stephen Finucane <stephen@that.guru>
2017-12-18 20:10:18 +00:00
Stephen Finucane e243e82723 tests: Ignore tests using 'collect_ignore'
Per the pytest docs [1], this is the preferred way to ignore tests. This
necessitates removing the 'test-async' target as it no longer makes any
sense.

[1] https://docs.pytest.org/en/latest/example/pythoncollection.html

Signed-off-by: Stephen Finucane <stephen@that.guru>
2017-12-18 20:10:18 +00:00
Stephen Finucane a102e8e29b setup.py: Include 'flake8' in 'test' requirements
We are using this in our testing and actually need it for the flake8
plugin, so include this in the list of 'test' requirements.

Signed-off-by: Stephen Finucane <stephen@that.guru>
2017-12-18 19:44:05 +00:00