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 - bibli1.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 18889-ac2cbba) Lines: 968 1021 94.8 %
Date: 2016-05-01 Functions: 58 64 90.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 671 825 81.3 %

Function Name Sort by function name Hit count Sort by hit count
ApplyAllQ 550068
ApplyQ 1253286
FindApplyQ 857575
QR_init 307507
R_from_QR 356
RgC_ApplyAllQ 560
RgC_ApplyQ 21840
RgM_Babai 322
RgM_QR_init 14
RgM_gram_schmidt 322
Xadic_lindep 42
ZC_canon 202629
ZM_zc_mul_canon 202629
_gp_forqf 28
addcolumntomatrix 2338
addmulimp 4097503
algdep 0
algdep0 49
check_bound 1142633
check_condition 882
check_householder 28
cholesky_norm_ek 77
choose_params 14
clonefill 64
dalloc 122107
do_exhaustive 7
err_minim 0
fincke_pohst 834
forqfvec 0
forqfvec0 21
forqfvec_i 21
forqfvec_init 21
forqfvec_init_dolll 398
gaussred_from_QR 307137
init_dalloc 410708
lindep 627
lindep0 217
lindep2 2852
lllintpartial 35
lllintpartial_inplace 0
lllintpartialall 35
mathouseholder 28
matqr 28
minim 168
minim0 399
minim0_dolll 399
minim2 0
minim_alloc 15690
minim_raw 0
mpgreaterthan 1317865
mplessthan 316622
mulimp 316027
no_prec_pb 857575
norm_aux 1628067
padic_lindep 14
perf 35
qfminim0 105
qfrep0 119
real_indep 634
seralgdep 28
smallvectors 819
sol_OK 14021
step 826942
zncoppersmith 21

Generated by: LCOV version 1.9