[Python-Dev] Coverage, was: Re: blocking 2.7

Walter Dörwald walter at livinglogic.de
Tue Jul 6 16:24:50 CEST 2010


On 06.07.10 15:07, Mark Dickinson wrote:

> On Tue, Jul 6, 2010 at 1:10 PM, Walter Dörwald <walter at livinglogic.de> wrote:
>> http://coverage.livinglogic.de/ *does* include coverage info for stuff
>> written in C, see for example:
>>
>>   http://coverage.livinglogic.de/Objects/unicodeobject.c.html
>>
>> However it *is* strange that test_audioop.py gets executed, but
>> audioop.c doesn't seem to be.
> 
> It looks as though none of the extension modules (besides those that
> are compiled statically into the interpreter) are reporting coverage.
> I wonder whether the correct flags are being passed to the module
> build stage?  Incidentally, there doesn't seem to be any of the usual
> 'make' output I'd associate with the module-building stage in the
> build log at:
> 
> http://coverage.livinglogic.de/buildlog.txt
> 
> For example, I'd expect to see the string 'mathmodule' somewhere in that output.

True, there seems to be a problem. I'm running

   ./configure --enable-unicode=ucs4 --with-pydebug

and then

   make coverage

This doesn't seem to build extension modules. However as far as I
understand the Makefile, "make coverage" should build extension modules:

# Default target
all:		build_all
build_all:	$(BUILDPYTHON) oldsharedmods sharedmods gdbhooks

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 shared modules
sharedmods: $(BUILDPYTHON)
	@case $$MAKEFLAGS in \
	*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)'
LDFLAGS='$(LDFLAGS)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py
-q build;; \
	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)'
OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
	esac

I'm rerunning now with "make && make coverage" to see if this fixes
anything.

Servus,
   Walter


More information about the Python-Dev mailing list