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 20291-5fbfea9) Lines: 1775 1906 93.1 %
Date: 2017-02-25 05:49:34 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 61787029
Zp_nosquare_m1 21
_serprec 2463255
addQp 359017
addRc 51934687
addRq 490
addTp 7
add_intmod_same 1879019
add_rfrac 2906339
add_rfrac_scal 8596399
add_scal 14668037
add_ser_scal 217455
addqf 21
addsub_frac 56072413
addsub_polmod 980
addsub_polmod_scal 2613108
addsub_pp 1173655
conjvec 42
divRc 364681
divTp 14000
div_T_scal 1083645
div_intmod_same 30699
div_polmod_same 6838
div_rfrac 1186336
div_rfrac_pol 253127
div_rfrac_scal 270779
div_scal_T 9798085
div_scal_pol 8833599
div_scal_rfrac 1004057
div_scal_ser 10087
div_ser 754395
div_ser_scal 479096
divcR 3453292
divfq 7
divpT 1218
divpp 215705
divqf 28
ff_poltype 30450
fill_ser 1743329
fix_rfrac 155407
gadd 1885966754
gaddsg 15700449
gconj 1584280
gdiv 131858320
gdivgs 6245571
ginv 12460314
gmul 3515002830
gmul2n 36708314
gmulsg 23894537
gred_rfrac2 44188637
gred_rfrac_simple 56547222
gsqr 979079609
gsub 1459701339
gsubsg 238656
inv_polmod 21315
kro_quad 21
mulRc 49812240
mulRc_direct 35
mulRq 1624
mulTp 156661
mul_gen_rfrac 160830
mul_intmod_same 3056985
mul_polmod 1386
mul_polmod_same 1634618
mul_polmod_scal 1233714
mul_rfrac 7846573
mul_rfrac_scal 10016979
mul_scal 59058403
mul_ser_scal 239443
mulcIR 924677
mulcc 72936120
mulcxI 1756633
mulcxmI 47901
mulpp 1756250
mulqf 14
mulqq 1295
mulrfrac 1791585
quad_polmod_conj 11984
quad_polmod_mul 1014709
quad_polmod_norm 11984
rfrac_denom_mul_scal 9782649
ser_add 1232121
ser_normalize 182
sqr_polmod 25087
sqr_ser_part 12540
sub_intmod_same 263284
warn_coercion 77

Generated by: LCOV version 1.11