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-bordeaux.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.10.0 lcov report (development 20091-343fe20) Lines: 1781 1907 93.4 %
Date: 2017-01-20 05:50:06 Functions: 88 88 100.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Q_to_Fp 56510
Qdivii 60321375
Zp_nosquare_m1 21
_serprec 2461645
addQp 359396
addRc 51850892
addRq 490
addTp 7
add_intmod_same 1879007
add_rfrac 2781599
add_rfrac_scal 8341291
add_scal 14423930
add_ser_scal 214333
addqf 21
addsub_frac 49763900
addsub_polmod 980
addsub_polmod_scal 2662271
addsub_pp 1173655
conjvec 42
divRc 362366
divTp 14000
div_T_scal 1074664
div_intmod_same 30697
div_polmod_same 6831
div_rfrac 1186336
div_rfrac_pol 253127
div_rfrac_scal 270779
div_scal_T 9148331
div_scal_pol 8183635
div_scal_rfrac 1004057
div_scal_ser 10297
div_ser 757930
div_ser_scal 479215
divcR 3421777
divfq 7
divpT 1218
divpp 216087
divqf 28
ff_poltype 30436
fill_ser 1740305
fix_rfrac 155372
gadd 1867987047
gaddsg 15672667
gconj 1588722
gdiv 130157829
gdivgs 6264669
ginv 12431865
gmul 3509611923
gmul2n 35038309
gmulsg 23642876
gred_rfrac2 43420905
gred_rfrac_simple 54355452
gsqr 978126779
gsub 1473503605
gsubsg 218200
inv_polmod 21357
kro_quad 21
mulRc 52010492
mulRc_direct 35
mulRq 1624
mulTp 156662
mul_gen_rfrac 160830
mul_intmod_same 3056949
mul_polmod 1386
mul_polmod_same 1637100
mul_polmod_scal 1232189
mul_rfrac 7743939
mul_rfrac_scal 9454557
mul_scal 57193622
mul_ser_scal 239191
mulcIR 863498
mulcc 72570146
mulcxI 1672842
mulcxmI 47845
mulpp 1756629
mulqf 14
mulqq 1295
mulrfrac 1627217
quad_polmod_conj 11984
quad_polmod_mul 1014506
quad_polmod_norm 11984
rfrac_denom_mul_scal 9431984
ser_add 1231316
ser_normalize 182
sqr_polmod 24744
sqr_ser_part 11777
sub_intmod_same 263277
warn_coercion 77

Generated by: LCOV version 1.11