-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
43 lines (31 loc) · 1.51 KB
/
Copy pathMakefile
File metadata and controls
43 lines (31 loc) · 1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
.PHONY: verify verify-parser-toolchain generate-parser check-generated-parser build test test-cov mypy lock-deps check-lock-deps bench bench-check
verify: test mypy
verify-parser-toolchain:
python scripts/generate_parser.py --verify-toolchain
generate-parser:
$(MAKE) verify-parser-toolchain
python scripts/generate_parser.py
check-generated-parser:
$(MAKE) verify-parser-toolchain
python scripts/generate_parser.py
git diff --exit-code -- generated/parser/LockstepLexer.py generated/parser/LockstepListener.py generated/parser/LockstepParser.py generated/parser/LockstepVisitor.py
lock-deps:
pip-compile --generate-hashes --strip-extras --output-file requirements.lock pyproject.toml
pip-compile --generate-hashes --strip-extras --extra test --output-file requirements-test.lock pyproject.toml
pip-compile --generate-hashes --strip-extras --extra lsp --output-file requirements-lsp.lock pyproject.toml
check-lock-deps:
$(MAKE) lock-deps
git diff --exit-code -- pyproject.toml requirements.lock requirements-test.lock requirements-lsp.lock
build:
python -m pip wheel . --no-deps --wheel-dir dist
test:
pytest
test-cov:
pytest --cov=. --cov-branch --cov-report=term-missing --cov-report=xml:coverage.xml
mypy:
python -m mypy
bench:
PYTHONPATH=. python scripts/run_benchmarks.py --output benchmark-results.json
bench-check:
PYTHONPATH=. python scripts/check_benchmark_regression.py --baseline benchmarks/baselines/default.json --current benchmark-results.json --threshold 0.10
pytest tests/benchmarks -q --benchmark-only