Skip to content

Commit 5010775

Browse files
committed
Add coverage.py integration for unit tests
1 parent 66b53eb commit 5010775

File tree

5 files changed

+53
-3
lines changed

5 files changed

+53
-3
lines changed

.coveragerc

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
[run]
2+
branch = True
3+
relative_files = True
4+
omit =
5+
*/tests/*
6+
*/tests.py
7+
*/test/*
8+
*/test.py
9+
*/venv/*
10+
*/.venv/*
11+
*/.tox/*
12+
*/build/*
13+
*/dist/*
14+
*/__pycache__/*
15+
16+
[report]
17+
show_missing = True
18+
skip_covered = False
19+
precision = 2
20+
exclude_lines =
21+
pragma: no cover
22+
if __name__ == "__main__":
23+
if TYPE_CHECKING:
24+
raise NotImplementedError
25+
26+
[html]
27+
directory = build/coverage/html
28+
title = CodeChecker test coverage

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ build
66
build_dist
77
venv
88
venv_dev
9+
.coverage
910
Makefile.local
1011

1112
/web/server/vue-cli/dist

analyzer/tests/Makefile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,14 @@ run_test_in_env: venv_dev is_TEST_set
5454
pytest $(PYTESTCFG) ${TEST} || exit 1
5555

5656
UNIT_TEST_CMD = $(REPO_ROOT) pytest $(PYTESTCFG) tests/unit
57-
UNIT_TEST_COV_CMD = $(REPO_ROOT) coverage run -m pytest $(PYTESTCFG) tests/unit && coverage report && coverage html
57+
COVERAGE_CMD = $(REPO_ROOT) $(PYTHON_BIN) -m coverage
58+
COVERAGE_RCFILE = --rcfile=$(ROOT)/.coveragerc
59+
ANALYZER_COVERAGE_SOURCE = codechecker_analyzer,codechecker_common
60+
UNIT_TEST_COV_CMD = mkdir -p build/coverage && \
61+
$(COVERAGE_CMD) erase $(COVERAGE_RCFILE) && \
62+
$(COVERAGE_CMD) run $(COVERAGE_RCFILE) --source=$(ANALYZER_COVERAGE_SOURCE) -m pytest $(PYTESTCFG) tests/unit && \
63+
$(COVERAGE_CMD) report $(COVERAGE_RCFILE) && \
64+
$(COVERAGE_CMD) html $(COVERAGE_RCFILE)
5865

5966
test_unit:
6067
$(UNIT_TEST_CMD)

web/client/tests/Makefile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
CLIENT_UNIT_TEST_CMD = $(REPO_ROOT) BUILD_DIR=$(BUILD_DIR) pytest $(PYTESTCFG) client client/tests/unit
2-
CLIENT_UNIT_TEST_COV_CMD = $(REPO_ROOT) BUILD_DIR=$(BUILD_DIR) coverage run -m pytest $(PYTESTCFG) client client/tests/unit && coverage report && coverage html
2+
CLIENT_COVERAGE_CMD = $(REPO_ROOT) $(PYTHON_BIN) -m coverage
3+
CLIENT_COVERAGE_RCFILE = --rcfile=$(ROOT)/.coveragerc
4+
CLIENT_COVERAGE_SOURCE = codechecker_client,codechecker_web,codechecker_common
5+
CLIENT_UNIT_TEST_COV_CMD = mkdir -p build/coverage && \
6+
$(CLIENT_COVERAGE_CMD) erase $(CLIENT_COVERAGE_RCFILE) && \
7+
$(CLIENT_COVERAGE_CMD) run $(CLIENT_COVERAGE_RCFILE) --source=$(CLIENT_COVERAGE_SOURCE) -m pytest $(PYTESTCFG) client client/tests/unit && \
8+
$(CLIENT_COVERAGE_CMD) report $(CLIENT_COVERAGE_RCFILE) && \
9+
$(CLIENT_COVERAGE_CMD) html $(CLIENT_COVERAGE_RCFILE)
310

411

512
test_unit_client:

web/server/tests/Makefile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
SERVER_UNIT_TEST_CMD = $(REPO_ROOT) BUILD_DIR=$(BUILD_DIR) pytest $(PYTESTCFG) server server/tests/unit
2-
SERVER_UNIT_TEST_COV_CMD = $(REPO_ROOT) BUILD_DIR=$(BUILD_DIR) coverage run -m pytest $(PYTESTCFG) server server/tests/unit && coverage report && coverage html
2+
SERVER_COVERAGE_CMD = $(REPO_ROOT) $(PYTHON_BIN) -m coverage
3+
SERVER_COVERAGE_RCFILE = --rcfile=$(ROOT)/.coveragerc
4+
SERVER_COVERAGE_SOURCE = codechecker_server,codechecker_web,codechecker_common
5+
SERVER_UNIT_TEST_COV_CMD = mkdir -p build/coverage && \
6+
$(SERVER_COVERAGE_CMD) erase $(SERVER_COVERAGE_RCFILE) && \
7+
$(SERVER_COVERAGE_CMD) run $(SERVER_COVERAGE_RCFILE) --source=$(SERVER_COVERAGE_SOURCE) -m pytest $(PYTESTCFG) server server/tests/unit && \
8+
$(SERVER_COVERAGE_CMD) report $(SERVER_COVERAGE_RCFILE) && \
9+
$(SERVER_COVERAGE_CMD) html $(SERVER_COVERAGE_RCFILE)
310

411
test_unit_server:
512
$(SERVER_UNIT_TEST_CMD)

0 commit comments

Comments
 (0)