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 23008-54b2e2f01) Lines: 1710 1812 94.4 %
Date: 2018-09-20 05:37:46 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 756
mulqq 1316
mulcxpowIs 1393
mulRq 1736
addsub_polmod 1750
divpT 1820
ser_normalize 7525
divTp 14119
quad_polmod_conj 23877
quad_polmod_norm 23877
div_polmod_same 29476
gconj 30431
div_scal_ser 32578
sqr_polmod 34055
div_scal_rfrac 37445
mulcxmI 49133
Q_to_Fp 56483
div_intmod_same 59514
inv_polmod 85183
sqr_ser_part 88658
mul_polmod 141148
mul_gen_rfrac 160830
mulTp 162730
divpp 224995
fix_rfrac 249067
div_rfrac_pol 269855
div_rfrac_scal 271022
add_ser_scal 308833
addQp 370842
mul_ser_scal 515039
divRc 562544
div_ser_scal 622137
quad_polmod_mul 675612
gsubsg 869636
div_ser 876017
mul_polmod_scal 927670
sub_intmod_same 1102005
addsub_pp 1178489
div_rfrac 1186509
div_T_scal 1480813
ser_add 1769872
mulpp 1775139
mul_polmod_same 1796994
addsub_polmod_scal 2003093
fill_ser 2232603
add_intmod_same 2235814
mulcxI 2277484
mul_intmod_same 2689101
add_rfrac 3037311
_serprec 3538960
mulcIR 4247960
divcR 6576906
mul_rfrac 7903558
add_rfrac_scal 8823497
conj_i 8947554
div_scal_pol 9216100
div_scal_T 9238936
mulrfrac 9529731
rfrac_denom_mul_scal 10077139
mul_rfrac_scal 10442582
add_scal 16794780
addsub_frac 16907385
ginv 17879577
gdivgs 18934603
gaddsg 32133896
gred_rfrac2 44749341
gmul2n 49618144
gred_rfrac_simple 58060786
mul_scal 59258693
Qdivii 70202609
mulRc 74520009
addRc 74667886
gmulsg 103859230
mulcc 108171082
gdiv 170933070
gsqr 1014278924
gsub 1446498056
gadd 2022669010
gmul 3494552021

Generated by: LCOV version 1.13