mirror of https://github.com/python/cpython
GHOP #217: add support for compiling Python with coverage checking enabled.
This commit is contained in:
parent
0bb0299ad8
commit
405b5f316a
|
@ -375,6 +375,12 @@ run_profile_task:
|
||||||
build_all_use_profile:
|
build_all_use_profile:
|
||||||
$(MAKE) all CFLAGS="$(CFLAGS) -fprofile-use"
|
$(MAKE) all CFLAGS="$(CFLAGS) -fprofile-use"
|
||||||
|
|
||||||
|
coverage:
|
||||||
|
@echo "Building with support for coverage checking:"
|
||||||
|
$(MAKE) clean
|
||||||
|
$(MAKE) all CFLAGS="$(CFLAGS) -O0 -pg -fprofile-arcs -ftest-coverage" LIBS="$(LIBS) -lgcov"
|
||||||
|
|
||||||
|
|
||||||
# Build the interpreter
|
# Build the interpreter
|
||||||
$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
|
$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
|
||||||
$(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
|
$(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
|
||||||
|
|
20
README
20
README
|
@ -917,6 +917,26 @@ libraries. The Makefile/Setup mechanism can be used to compile and
|
||||||
link most extension modules statically.
|
link most extension modules statically.
|
||||||
|
|
||||||
|
|
||||||
|
Coverage checking
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
For C coverage checking using gcov, run "make coverage". This will
|
||||||
|
build a Python binary with profiling activated, and a ".gcno" and
|
||||||
|
".gcda" file for every source file compiled with that option. With
|
||||||
|
the built binary, now run the code whose coverage you want to check.
|
||||||
|
Then, you can see coverage statistics for each individual source file
|
||||||
|
by running gcov, e.g.
|
||||||
|
|
||||||
|
gcov -o Modules zlibmodule
|
||||||
|
|
||||||
|
This will create a "zlibmodule.c.gcov" file in the current directory
|
||||||
|
containing coverage info for that source file.
|
||||||
|
|
||||||
|
This works only for source files statically compiled into the
|
||||||
|
executable; use the Makefile/Setup mechanism to compile and link
|
||||||
|
extension modules you want to coverage-check statically.
|
||||||
|
|
||||||
|
|
||||||
Testing
|
Testing
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue