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 20422-b487f4d) Lines: 1775 1906 93.1 %
Date: 2017-03-22 05:51:54 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 61080848
Zp_nosquare_m1 21
_serprec 2463283
addQp 359227
addRc 51625853
addRq 490
addTp 7
add_intmod_same 1884852
add_rfrac 2906339
add_rfrac_scal 8596399
add_scal 14382268
add_ser_scal 217469
addqf 21
addsub_frac 46434537
addsub_polmod 980
addsub_polmod_scal 2610238
addsub_pp 1173655
conjvec 42
divRc 364942
divTp 14000
div_T_scal 1180520
div_intmod_same 30253
div_polmod_same 6859
div_rfrac 1186336
div_rfrac_pol 253127
div_rfrac_scal 270779
div_scal_T 9801767
div_scal_pol 8837211
div_scal_rfrac 1004057
div_scal_ser 10157
div_ser 602845
div_ser_scal 479096
divcR 3457317
divfq 7
divpT 1218
divpp 215882
divqf 28
ff_poltype 30450
fill_ser 1743343
fix_rfrac 155407
gadd 1737138825
gaddsg 15700646
gconj 1586235
gdiv 131399589
gdivgs 6222837
ginv 12235251
gmul 3350497813
gmul2n 36499060
gmulsg 23593453
gred_rfrac2 44188637
gred_rfrac_simple 56420467
gsqr 969175502
gsub 1458249204
gsubsg 238656
inv_polmod 21266
kro_quad 21
mulRc 49310303
mulRc_direct 35
mulRq 1624
mulTp 156714
mul_gen_rfrac 160830
mul_intmod_same 3062976
mul_polmod 1386
mul_polmod_same 1603013
mul_polmod_scal 1224327
mul_rfrac 7846573
mul_rfrac_scal 10016979
mul_scal 58068512
mul_ser_scal 239485
mulcIR 923514
mulcc 72943693
mulcxI 1758186
mulcxmI 47901
mulpp 1756484
mulqf 14
mulqq 1295
mulrfrac 1770798
quad_polmod_conj 11970
quad_polmod_mul 1016249
quad_polmod_norm 11970
rfrac_denom_mul_scal 9782649
ser_add 1232135
ser_normalize 182
sqr_polmod 25857
sqr_ser_part 12554
sub_intmod_same 263255
warn_coercion 77

Generated by: LCOV version 1.11