mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
If MYPY=1 is passed to the build then run mypy over python code in
perf. Unlike shellcheck this isn't default on as there are currently
too many errors.
An example of an error:
```
util/setup.py:8: error: Item "None" of "str | None" has no attribute "split" [union-attr]
util/setup.py:15: error: Item "None" of "IO[bytes] | None" has no attribute "readline" [union-attr]
util/setup.py:15: error: List item 0 has incompatible type "str | None"; expected "str | bytes | PathLike[str] | PathLike[bytes]" [list-item]
util/setup.py:16: error: Unsupported left operand type for + ("None") [operator]
util/setup.py:16: note: Left operand is of type "str | None"
util/setup.py:74: error: Unsupported left operand type for + ("None") [operator]
util/setup.py:74: note: Left operand is of type "str | None"
Found 5 errors in 1 file (checked 1 source file)
make[4]: *** [util/Build:430: util/setup.py.mypy_log] Error 1
```
Reviewed-by: James Clark <james.clark@linaro.org>
Signed-off-by: Ian Rogers <irogers@google.com>
Link: https://lore.kernel.org/r/20250311213628.569562-4-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
18 lines
455 B
Plaintext
18 lines
455 B
Plaintext
ifeq ($(CONFIG_LIBTRACEEVENT),y)
|
|
perf-util-$(CONFIG_LIBPERL) += perl/Perf-Trace-Util/
|
|
endif
|
|
perf-util-$(CONFIG_LIBPYTHON) += python/Perf-Trace-Util/
|
|
|
|
ifdef MYPY
|
|
PY_TESTS := $(shell find python -type f -name '*.py')
|
|
MYPY_TEST_LOGS := $(PY_TESTS:python/%=python/%.mypy_log)
|
|
else
|
|
MYPY_TEST_LOGS :=
|
|
endif
|
|
|
|
$(OUTPUT)%.mypy_log: %
|
|
$(call rule_mkdir)
|
|
$(Q)$(call echo-cmd,test)mypy "$<" > $@ || (cat $@ && rm $@ && false)
|
|
|
|
perf-y += $(MYPY_TEST_LOGS)
|