Code coverage tests

This page documents the degree to which the PARI/GP source code is tested by our public test suite, distributed with the source distribution in directory src/test/. This is measured by the gcov utility; we then process gcov output using the lcov frond-end.

We test a few variants depending on Configure flags on the pari.math.u-bordeaux1.fr machine (x86_64 architecture), and agregate them in the final report:

The target is 90% coverage for all mathematical modules (given that branches depending on DEBUGLEVEL or DEBUGMEM are not covered). This script is run to produce the results below.

LCOV - code coverage report
Current view: top level - basemath - gen1.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 17424-317f585) Lines: 1771 1932 91.7 %
Date: 2015-02-01 Functions: 88 88 100.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1174 1434 81.9 %

Function Name Sort by function name Hit count Sort by hit count
Zp_nosquare_m1 20
addQp 59273
addRc 22986832
addRq 430
addTp 5
add_intmod_same 726183
add_rfrac 2062758
add_rfrac_scal 6127909
add_scal 9842965
add_ser_scal 3030
addqf 10
addsub_frac 10519199
addsub_polmod 475
addsub_polmod_scal 1898762
addsub_pp 155370
conjvec 30
divRc 167678
divTp 45
div_T_scal 576756
div_intmod_same 20214
div_polmod_same 22060
div_rfrac 872631
div_rfrac_pol 188013
div_rfrac_scal 205636
div_scal_T 6604890
div_scal_pol 5914152
div_scal_rfrac 725773
div_scal_ser 400
div_ser 190810
div_ser_scal 3945
divcR 1212665
divfq 5
divpT 635
divpp 37821
divqf 20
ff_poltype 20245
fill_ser 83082
fix_rfrac 111045
gadd 661106355
gaddsg 1904883
gconj 383177
gdiv 62040055
gdivgs 3845996
ginv 5225488
gmul 1783061481
gmul2n 21491071
gmulsg 10979001
gred_frac2 8244974
gred_rfrac2 13201235
gred_rfrac2_i 31390344
gred_rfrac_simple 39014615
gsqr 684839903
gsub 1006526954
gsubsg 211092
inv_polmod 17018
kro_quad 15
mulRc 29060904
mulRc_direct 25
mulRq 1310
mulTp 28061
mul_gen_rfrac 122462
mul_intmod_same 1747770
mul_polmod 880
mul_polmod_same 1163857
mul_polmod_scal 759171
mul_rfrac 5594600
mul_rfrac_scal 6811906
mul_scal 39607657
mul_ser_scal 134507
mulcIR 517705
mulcc 34999997
mulcxI 1240681
mulcxmI 34180
mulpp 223063
mulqf 10
mulqq 960
mulrfrac 710972
quad_polmod_conj 8935
quad_polmod_mul 705234
quad_polmod_norm 8935
rfrac_denom_mul_scal 6853694
ser_add 26362
ser_normalize 40
serprec 52194
sqr_polmod 15550
sqr_ser_part 2980
sub_intmod_same 88867
warn_coercion 50

Generated by: LCOV version 1.9