From: Han-Wen Nienhuys Date: Sun, 24 Dec 2006 20:51:54 +0000 (+0100) Subject: add coverage.py: check test suite coverage. X-Git-Tag: release/2.11.6-1~62^2~4 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=ec44490a4c0646629af040719567f2ac73d2b753;p=lilypond.git add coverage.py: check test suite coverage. --- diff --git a/buildscripts/coverage.py b/buildscripts/coverage.py new file mode 100644 index 0000000000..bcf8617703 --- /dev/null +++ b/buildscripts/coverage.py @@ -0,0 +1,43 @@ +#!/bin/sh +import os +import glob +import re + +cmds = """ +./configure --enable-config=cov --disable-optimising +make conf=cov -j2 +make conf=cov test LILYPOND_JOBS= + +cd out-cov +ln ../lily/* . +ln ../lily/out-conv/*cc . +mkdir include +ln ../lily/include/* include/ +for a in *[cyl] ; do gcov -o ../lily/out-cov/ -p $a > $a.gcov-summary ; done +""" + +cmds = '' + +for c in cmds.split ('\n'): + os.system (c) + +os.chdir ('out-cov') + +#File 'accidental-engraver.cc' +#Lines executed:87.70% of 252 + +results = [] +for f in glob.glob ('*.gcov-summary'): + str = open (f).read () + m = re.search ("File '([^']+.cc)'\s*Lines executed:([0-9.]+)% of ([0-9]+)", str) + if '/usr/lib' in m.group (1): + continue + + if m: + tup = (float (m.group (2)), int (m.group (3)), m.group (1)) + results.append(tup) + +results.sort () +for r in results: + print '%5.2f (%6d): %s' % r +