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 to exceed 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.12.0 lcov report (development 23348-5caea72e3) Lines: 1708 1810 94.4 %
Date: 2018-12-14 05:41:32 Functions: 89 89 100.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
addTp 7
divfq 7
mulqf 14
kro_quad 21
Zp_nosquare_m1 28
addqf 28
divqf 28
mulRc_direct 49
conjvec 84
warn_coercion 98
addRq 763
mulqq 1316
mulcxpowIs 1477
mulRq 1736
addsub_polmod 1750
divpT 1820
ser_normalize 7525
divTp 14119
quad_polmod_conj 28007
quad_polmod_norm 28007
gconj 30291
div_scal_ser 32816
div_scal_rfrac 37445
sqr_polmod 43246
div_polmod_same 43840
mulcxmI 50659
Q_to_Fp 56483
div_intmod_same 73751
sqr_ser_part 88763
inv_polmod 131772
mul_gen_rfrac 160830
mulTp 167053
divpp 225655
fix_rfrac 249074
div_rfrac_pol 269855
div_rfrac_scal 271022
add_ser_scal 307734
addQp 374644
mul_ser_scal 516194
divRc 568333
div_ser_scal 622417
div_ser 877445
gsubsg 1050701
sub_intmod_same 1109296
div_rfrac 1186509
addsub_pp 1248762
div_T_scal 1633634
ser_add 1771692
mulpp 1857565
fill_ser 2233737
add_intmod_same 2257943
mulcxI 2330708
quad_polmod_mul 2679719
mul_intmod_same 2706939
add_rfrac 3037311
_serprec 3542600
mulcIR 4289912
mul_polmod 4301353
mul_polmod_scal 4490838
divcR 6693652
mul_polmod_same 7031181
mul_rfrac 7904132
conj_i 8820191
add_rfrac_scal 8823518
div_scal_pol 9216975
div_scal_T 9240147
mulrfrac 10012198
rfrac_denom_mul_scal 10070353
mul_rfrac_scal 10444535
addsub_polmod_scal 12322416
ginv 18062051
gdivgs 18522717
addsub_frac 18736552
add_scal 19789171
gaddsg 33629010
gred_rfrac2 44743745
gmul2n 51660650
gred_rfrac_simple 58105476
mul_scal 67383037
Qdivii 71420763
mulRc 75195882
addRc 75257076
mulcc 109141803
gmulsg 124376940
gdiv 171717630
gsqr 1017044669
gsub 1472138949
gadd 2130468394
gmul 3589086007

Generated by: LCOV version 1.13