-
-
Notifications
You must be signed in to change notification settings - Fork 655
Description
This metaticket proposes to use mainstream Python testing and linting infrastructure for Sage -- by adding configuration files and documentation.
tox:
- Add src/tox.ini as a standard entrypoint for doctesting #28987 Add
src/tox.ini
: As an alternative interface to running the sage doctester. - src/tox.ini: Check patchbot plugin patterns and common typo patterns #30467
src/tox.ini
: Check patchbot plugin patterns - Command "sage -tox" #30410 (Command "sage -tox")
- Make tox a standard package #30416 (Make tox a standard package)
- Document "sage -tox" #30453 Document "sage -tox"
- src/tox.ini: Add environment pyright #30411 (src/tox.ini: Add environment pyright)
- src/tox.ini: Add validation of docstrings using flake8-rst-docstrings #30448 (src/tox.ini: Add validation of rst files and docstrings via a quick docbuild)
pytest:
- Add minimal pytest configuration #31003 Add minimal pytest configuration
- sage.numerical.backends: Replace use of TestSuite by pytest #31103
sage.numerical.backends
: Replace use ofTestSuite
bypytest
- Add symplectic structures #30362 Add symplectic structures
- Improve doctest interaction with pytest #32975 Improve doctest interaction with pytest
- Rename test_... functions to avoid the naming scheme reserved by pytest #33549 Rename
test_...
functions to avoid the naming scheme reserved by pytest - sage -t: Do not run pytest on individual Python files unless they match the pytest file pattern #31924
sage -t
: Do not run pytest on individual Python files unless they match the pytest file pattern - sage -pytest #33572
sage -pytest
- pytest: ignore cython files #33560 pytest: ignore cython files
- Rename test_... classes to avoid the naming scheme reserved by pytest #33561 Rename
test_...
classes to avoid the naming scheme reserved by pytest - Preparse sage files before passing them to pytest #33550 Preparse sage files before passing them to pytest
- Document pytest #31123 Document pytest
- doctesting with pytest fails on system install of sage #33521 doctesting with pytest fails on system install of sage
- pytest in sage is broken, please make it really optional #33531 pytest in sage is broken, please make it really optional
- Make pytest a standard package #31110 Make
pytest
a standard package - Use pytest to run doctests #33546 Replace custom Sage doctest discovery by pytest (using pytest_collect_file)
- Replace custom Sage unit test discovery by pytest #30738 Replace custom Sage unit test discovery by pytest
- sage.geometry.polyhedron: Replace use of TestSuite by pytest #31104
sage.geometry.polyhedron
: Replace use ofTestSuite
bypytest
Other tickets:
-
"sage -startuptime" should accept file names too #30452 ("sage -startuptime" should accept file names too)
-
Add pyright config and linting documentation #30361 (Add pyright config and linting documentation; dup: sage developer's guide should mention pyflakes #17992)
-
sage -t : Write report in JUnitXML format #33232 (
sage -t
: Write report in JUnitXML format) -
Remove pyflakes? #30415 (Remove pyflakes?)
Documentation tickets:
-
Update section "Sage Development Process" in Developer's Guide #29784 Update section "Sage Development Process" in Developer's Guide
-
Mention .lgtm.yml in the Developer's Guide #29520: Mention .lgtm.yml in the Developer's Guide
Infrastructure tickets:
-
Meta-ticket: Migration from Trac to GitHub #30363 Replace patchbot by github actions (part of https://trac.sagemath.org/ticket/)
-
Use pre-commit https://pre-commit.com/
-
Use pipenv in place of venv https://pipenv.pypa.io/en/latest/#
See also:
-
Meta-ticket Meta-ticket: Add Dockerfiles and CI scripts for integration testing of source and binary distributions and of downstream packages #29060: Add Dockerfiles and CI scripts for integration testing of source and binary distributions and of downstream packages
-
Generalize
sage.numerical.backends.logging_backend.LoggingBackend
to help generate_test
methods -
Add script-type _spkg_check package that installs tox, mock, pytest etc. #28998: Add script-type check_dependencies package that installs tox, mock, pytest etc.
-
Extensive description of different linters: https://github.com/vintasoftware/python-linters-and-code-analysis
CC: @jdemeyer @dimpase @embray @videlec @fchapoton @tscrim @jm58660 @tobiasdiez @kliem @nthiery @tornaria
Component: doctest framework
Issue created by migration from https://trac.sagemath.org/ticket/28936