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-bordeaux1.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 - hnf_snf.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 16358-a11f489) Lines: 1405 1549 90.7 %
Date: 2014-04-11 Functions: 77 83 92.8 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1155 1433 80.6 %

Function Name Sort by function name Hit count Sort by hit count
FpV_Fp_mul_part_ip 787897
FpV_red_part_ipvec 13888434
Frobeniusform 165
Minus 212157
RgC_elem 5
RgM_hnfall 15
RgM_reduce 20
RgX_normalize 1370
ZC_elem 21608002
ZM_hnf 6361
ZM_hnfall 14679
ZM_hnfcenter 475
ZM_hnflll 12388
ZM_hnfmod 205770
ZM_hnfmodall 2243884
ZM_hnfmodall_i 2246494
ZM_hnfmodid 2037934
ZM_hnfperm 100
ZM_reduce 339686
ZM_snf 160
ZM_snf_group 22650
ZM_snf_no_divide 95549
ZM_snfall 965
ZM_snfall_i 26345
ZM_snfclean 22650
ZV_gcdext 0
ZV_gcdext_i 10
ZV_hnfgcdext 15
ZpM_echelon 33568
allhnfmod 70
bezout_step 51388
build_basischange 165
build_frobeniusbc 165
col_dup 294285
col_mul 206420
count 2009220
count2 52267
do_zero 0
findi 21183487
findi_normalize 21183487
gbezout_step 6105
gsmith 65
gsmithall 165
gsmithall_i 230
gsnf_no_divide 1130
hnf 0
hnf_divscale 18381
hnf_i 5041
hnf_invimage 61846
hnf_solve 15049
hnfadd 0
hnfadd_i 6833
hnfall 15
hnfallgen 5
hnfdivide 65
hnffinal 11446
hnflll 5
hnfmerge_get_1 164288
hnfmod 15
hnfmodid 55
hnfperm 15
hnfspec 95
hnfspec_i 4613
hnfswap 1221883
is_RgX 24660
matfrobenius 195
mathnf0 90
mathnfspec 95
matsnf0 570
negcmpii 158098
p_mat 0
prod_degree 195
reduce1 260
reduce2 10591656
remove_0cols 12724
reverse_rows 24776
smith 30
smithall 330
smithclean 685
snf_pile 25830
trivsmith 0
update 51605
zlm_echelon 129834

Generated by: LCOV version 1.9