Kaydet (Commit) 405b5f31 authored tarafından Georg Brandl's avatar Georg Brandl

GHOP #217: add support for compiling Python with coverage checking enabled.

üst 0bb0299a
......@@ -375,6 +375,12 @@ run_profile_task:
build_all_use_profile:
$(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
$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
$(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
......
......@@ -917,6 +917,26 @@ libraries. The Makefile/Setup mechanism can be used to compile and
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
-------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment