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 21188-db834f2) Lines: 1742 1867 93.3 %
Date: 2017-10-20 06:23:07 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 56707
Qdivii 66472612
Zp_nosquare_m1 21
_serprec 2316765
addQp 377804
addRc 54533629
addRq 490
addTp 7
add_intmod_same 2349118
add_rfrac 2972218
add_rfrac_scal 8698932
add_scal 15300506
add_ser_scal 241157
addqf 21
addsub_frac 23968315
addsub_polmod 4858
addsub_polmod_scal 12574298
addsub_pp 1182615
conjvec 42
divRc 409768
divTp 14154
div_T_scal 1237921
div_intmod_same 44120
div_polmod_same 15294
div_rfrac 1186488
div_rfrac_pol 261595
div_rfrac_scal 271015
div_scal_T 10044201
div_scal_pol 9079325
div_scal_rfrac 1004041
div_scal_ser 10465
div_ser 600250
div_ser_scal 449462
divcR 3800450
divfq 7
divpT 1372
divpp 232314
divqf 28
fill_ser 1677310
fix_rfrac 202335
gadd 1868791878
gaddsg 15659427
gconj 1786466
gdiv 141357689
gdivgs 39222690
ginv 13505132
gmul 3228005294
gmul2n 44619190
gmulsg 94376419
gred_rfrac2 44410857
gred_rfrac_simple 57213294
gsqr 1047988905
gsub 1379675150
gsubsg 277213
inv_polmod 83433
kro_quad 21
mulRc 48075482
mulRc_direct 35
mulRq 1624
mulTp 161862
mul_gen_rfrac 160830
mul_intmod_same 2950712
mul_polmod 141127
mul_polmod_same 9217578
mul_polmod_scal 3535114
mul_rfrac 7846725
mul_rfrac_scal 10230671
mul_scal 61975497
mul_ser_scal 242250
mulcIR 1113813
mulcc 72604360
mulcxI 2102828
mulcxmI 49000
mulcxpowIs 147
mulpp 1786253
mulqf 14
mulqq 1295
mulrfrac 2137250
quad_polmod_conj 16017
quad_polmod_mul 3785539
quad_polmod_norm 16017
rfrac_denom_mul_scal 9885815
ser_add 1158876
ser_normalize 182
sqr_polmod 74543
sqr_ser_part 13471
sub_intmod_same 229935
warn_coercion 77

Generated by: LCOV version 1.11