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 21501-1931cb9) Lines: 1749 1865 93.8 %
Date: 2017-12-16 06:20:36 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 56367
Qdivii 65502009
Zp_nosquare_m1 21
_serprec 2719923
addQp 363463
addRc 63664072
addRq 490
addTp 7
add_intmod_same 2081977
add_rfrac 2972218
add_rfrac_scal 8698932
add_scal 15807054
add_ser_scal 276941
addqf 21
addsub_frac 12236411
addsub_polmod 1022
addsub_polmod_scal 1992348
addsub_pp 1182925
conjvec 56
divRc 492446
divTp 13937
div_T_scal 1270604
div_intmod_same 44458
div_polmod_same 26928
div_rfrac 1186488
div_rfrac_pol 261595
div_rfrac_scal 271015
div_scal_T 10072222
div_scal_pol 9092044
div_scal_rfrac 1004041
div_scal_ser 25767
div_ser 687596
div_ser_scal 459010
divcR 4640571
divfq 7
divpT 1246
divpp 218713
divqf 28
fill_ser 1712296
fix_rfrac 202335
gadd 1809893274
gaddsg 18766065
gconj 12615486
gdiv 142812019
gdivgs 7672898
ginv 13741729
gmul 3248773459
gmul2n 45147432
gmulsg 94491327
gred_rfrac2 44410871
gred_rfrac_simple 57225650
gsqr 994683815
gsub 1411507076
gsubsg 354863
inv_polmod 84777
kro_quad 21
mulRc 61322486
mulRc_direct 35
mulRq 1624
mulTp 161090
mul_gen_rfrac 160830
mul_intmod_same 2062439
mul_polmod 139671
mul_polmod_same 1796812
mul_polmod_scal 791184
mul_rfrac 7846725
mul_rfrac_scal 10230685
mul_scal 61184129
mul_ser_scal 403341
mulcIR 2735979
mulcc 98301566
mulcxI 2118923
mulcxmI 49189
mulcxpowIs 364
mulpp 1771675
mulqf 14
mulqq 1295
mulrfrac 9296595
quad_polmod_conj 16618
quad_polmod_mul 539809
quad_polmod_norm 16618
rfrac_denom_mul_scal 9885843
ser_add 1360350
ser_normalize 7532
sqr_polmod 33537
sqr_ser_part 87769
sub_intmod_same 1102583
warn_coercion 77

Generated by: LCOV version 1.11