- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 684
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 ofTestSuitebypytest
- 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 pytesta 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 ofTestSuitebypytest
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.LoggingBackendto help generate_testmethods
- 
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