Skip to content

Commit

Permalink
Enforce repo-review rules (#296)
Browse files Browse the repository at this point in the history
* Enforce repo-review rule PP302

PP302: Sets a minimum pytest to at least 6

Must have a `minversion=`, and must be at least 6 (first version to
support `pyproject.toml` configuration).

* Enforce repo-review rule PP305

PP305: Specifies xfail_strict

`xfail_strict` should be set. You can manually specify if a check should
be strict when setting each xfail.

* Enforce repo-review rule PP306

PP306: Specifies strict config

`--strict-config` should be in `addopts = [...]`. This forces an error
if a config setting is misspelled.

* Enforce repo-review rule PP307

PP307: Specifies strict markers

`--strict-markers` should be in `addopts = [...]`. This forces all
markers to be specified in config, avoiding misspellings.

* Enforce repo-review rule PP308

PP308: Specifies useful pytest summary

An explicit summary flag like `-ra` should be in `addopts = [...]` (print
summary of all fails/errors).

* Enforce pytest ≥ 7.3.2

This is the first version to support Python 3.12:
https://docs.pytest.org/en/stable/changelog.html#pytest-7-3-2-2023-06-10

* Enforce repo-review rule MY104

MY104: MyPy enables ignore-without-code

Must have `"ignore-without-code"` in `enable_error_code = [...]`. This
will force all skips in your project to include the error code, which
makes them more readable, and avoids skipping something unintended.

* Enforce repo-review rule MY105

MY105: MyPy enables redundant-expr

Must have `"redundant-expr"` in `enable_error_code = [...]`. This helps
catch useless lines of code, like checking the same condition twice.

* Enforce repo-review rule MY106

MY106: MyPy enables truthy-bool

Must have `"truthy-bool"` in `enable_error_code = []`. This catches
mistakes in using a value as truthy if it cannot be falsy.
  • Loading branch information
DimitriPapadopoulos authored Sep 15, 2024
1 parent bf81281 commit c97b3fb
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ libjpeg = [
]
test = [
"mypy==0.971",
"pytest==7.1.2",
"pytest-cov==3.0.0",
"pytest==7.4.4",
"pytest-cov==4.1.0",
"pytest-flake8==1.1.1",
"numpy-stubs @ git+https://github.com/numpy/numpy-stubs@201115370a0c011d879d69068b60509accc7f750",
]
Expand All @@ -67,12 +67,15 @@ documentation = "https://highdicom.readthedocs.io/"
repository = "https://github.com/ImagingDataCommons/highdicom.git"

[tool.pytest.ini_options]
addopts = "--doctest-modules"
minversion = "7"
addopts = ["--doctest-modules", "-ra", "--strict-config", "--strict-markers"]
testpaths = ["tests"]
log_cli_level = "INFO"
xfail_strict = true

[tool.mypy]
warn_unreachable = true
enable_error_code = ["ignore-without-code", "redundant-expr", "truthy-bool"]

[[tool.mypy.overrides]]
module = "mypy-pydicom.*"
Expand Down

0 comments on commit c97b3fb

Please sign in to comment.