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 - alglin2.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 20459-9710128) Lines: 907 1018 89.1 %
Date: 2017-04-29 05:33:44 Functions: 67 72 93.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Flm_charpoly 0
Flm_charpoly_i 8898
Flm_hess 8898
FpM_charpoly 6342
FpM_hess 12
Frobeniusform 0
QM_ImQ_hnf 822
QM_ImZ_hnf 12
QM_charpoly_Flx 2550
QM_charpoly_ZX 498
QM_charpoly_ZX_bound 246
QM_charpoly_ZX_i 2136
QM_imZ_hnf_aux 834
QM_minors_coprime 24
RgM_Fp_charpoly 30
RgM_Frobenius 306
RgM_adj_from_char 18
RgM_minpoly 42
RgM_replace 0
ZM_charpoly 1392
ZX_CRT 2550
adj 2034
adjsafe 6
bad_char 1992
caract 12
caradj 2046
carberkowitz 810
carhess 18
charpoly 1752
charpoly0 246
charpoly_bound 1890
cxquadnorm 24
easychar 5382
easymin 792
fix_pol 2838
gaussred 3654
gerepilemat2_inplace 0
gnorm 155988
gnorml1 144
gnorml1_fake 0
gnorml2 10233516
gnorml2_i 10233540
gnormlp 282
gsupnorm 4530
gsupnorm_aux 48084
gtrace 90666
hess 24
intersect 6
jacobi 6
matadjoint0 96
matcompanion 24
matfrobenius 264
matrixqz0 48
mattrace 4194
minpoly 816
minpoly_dvdslice 42
minpoly_listpolslice 42
minpoly_polslice 168
pnormlp 168
pnormlpvec 54
qfgaussred 12
qfgaussred_positive 858
qfsign 3642
rot 4080
store 43548
suitable 20172
transD 1746
transL 12522
transS 174
weakfrobenius_step1 408
weakfrobenius_step2 408
weakfrobenius_step3 408

Generated by: LCOV version 1.11