-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
71 lines (57 loc) · 1.85 KB
/
Makefile
File metadata and controls
71 lines (57 loc) · 1.85 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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Makefile
# Makefile for LEV test suite
.PHONY: test test-unit test-integration test-mathematical test-performance test-all
.PHONY: test-coverage test-quick test-slow clean setup help
# Default target
help:
@echo "LEV Test Suite Commands:"
@echo " test-quick - Run quick unit tests only"
@echo " test-unit - Run all unit tests"
@echo " test-mathematical - Run mathematical validation tests"
@echo " test-integration - Run integration tests"
@echo " test-performance - Run performance benchmarks"
@echo " test-all - Run all tests"
@echo " test-coverage - Run tests with coverage report"
@echo " test-slow - Run slow/long-running tests"
@echo " setup - Install test dependencies"
@echo " clean - Clean test artifacts"
# Quick tests (unit tests, exclude slow/performance)
test-quick:
pytest test/ -m "not slow and not performance" -v --tb=short
# Unit tests only
test-unit:
pytest test/test_lev_unit_tests.py -v
# Mathematical validation tests
test-mathematical:
pytest test/test_mathematical_validation.py -v
# Integration tests
test-integration:
pytest test/test_integration_scenarios.py -v
# Performance benchmarks
test-performance:
pytest test/ -m "performance" -v --tb=short
# All tests including slow ones
test-all:
pytest test/ -v
# Test coverage
test-coverage:
pytest test/ --cov=lev_calculator --cov-report=html --cov-report=term-missing -v
# Slow tests only
test-slow:
pytest test/ -m "slow" -v --tb=long
# Parallel test execution
test-parallel:
pytest test/ -n auto -v
# Setup test environment
setup:
pip install -r test/test_requirements.txt
# Clean test artifacts
clean:
rm -rf .pytest_cache/
rm -rf htmlcov/
rm -rf .coverage
find . -name "*.pyc" -delete
find . -name "__pycache__" -delete
# Continuous integration target
test-ci:
pytest test/ -m "not performance" --tb=short --maxfail=5