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 to exceed 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 - ZV.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.12.0 lcov report (development 23008-54b2e2f01) Lines: 765 839 91.2 %
Date: 2018-09-20 05:37:46 Functions: 116 122 95.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
ZC_ZV_mul 0
ZC_Z_sub 0
ZM_multosym 0
ZM_pow 0
ZM_reducemodlll 0
ZM_togglesign 0
ZM_mul_diag 14
ZMV_to_zmV 35
ZV_sum 56
ZM_equal0 77
QM_QC_mul 91
zmV_to_ZMV 112
zv_neg_inplace 227
_ZM_mul 273
ZM_transmul 497
ZM_to_zm 1120
zv_ZM_mul 1204
zvV_equal 1337
zv_sum 1596
ZV_zc_mul 2065
ZM_powu 2191
_ZM_sqr 2632
ZM_supnorm 3318
ZV_abscmp 3326
ZM_sqr 3647
ZM_sqr_i 3647
ZM_max_lg 3804
ZC_reducemodlll 9802
ZV_max_lg 10612
ZM_Z_div 14707
ZC_z_mul 15497
zv_z_mul 16590
ZC_reducemodmatrix 19868
ZC_reducemodmatrix_i 19868
zm_to_Flm 19894
ZM_reducemodmatrix 21350
ZM_reducemodmatrix_i 21350
ZM_mul_sw 21765
zm_to_ZM 28567
zv_neg 31486
ZM_hnfdivrem 51730
ZV_to_nv 52815
Zupdate_row 52849
ZM_isdiagonal 60422
ZV_neg_inplace 70354
ZM_diag_mul 88367
Z_ZC_sub 95139
ZC_Z_add 103626
ZM_isscalar 105089
ZC_is_ei 105707
ZM_ishnf 116090
ZRED 118605
ZM_isidentity 121044
ZincrementalGS 142120
ZV_ZM_mul 145705
subtract_slices 152355
ZV_content 157493
ZM_transmultosym 161595
add_slices 174120
ZC_lincomb_1 227722
QM_mul 248061
ZM_copy 265642
ZM_neg 278124
zv_to_Flv 284480
ZM_Q_mul 309640
RgM_check_ZM 355152
zv_prod 364806
zv_prod_Z 365078
ZM_equal 491806
RgV_check_ZV 507026
ZM_nm_mul 671350
nm_Z_mul 671350
ZM_zm_mul 677404
ZV_cmp 682021
ZM_nc_mul_i 688000
ZM_sub 690831
ZC_hnfremdiv 856080
ZM_Z_divexact 856292
ZV_equal0 924352
ZM_Z_mul 1038014
ZC_Z_div 1136995
ZC_Q_mul 1210694
ZC_sub 1250802
ZM_add 1270789
check_ZV 1307789
ZV_togglesign 1375932
ZM_det_triangular 1591301
ZC_neg 1780526
ZC_lincomb1 1849066
ZC_sub_i 2012142
ZC_Z_divexact 2998716
ZM_zc_mul 3275759
zv_content 3556758
ZC_copy 4559317
ZM_zc_mul_i 4662138
ZV_dotsquare 5949500
ZC_add 7136187
ZV_prod 7476824
ZV_equal 7964970
ZM_ZC_mul 8127135
ZM_mul 8284024
ZM_mul_classical 8358215
ZM_mul_i 8376333
Flc_lincomb1_inplace 8658327
ZC_lincomb 8910234
ZV_equal_lg 9293677
ZV_dotproduct 11150621
ZV_dotproduct_i 13021086
ZC_Z_mul 13582155
vecsmall_prod 14694393
ZC_add_i 16026259
ZM_max_lg_i 16760117
zv_equal0 21181491
zv_equal 21643738
ZMrow_ZC_mul 26941309
ZM_ZC_mul_i 32685148
ZC_lincomb1_inplace 40780637
ZC_lincomb1_inplace_i 46322045
ZV_max_lg_i 52261382
zv_dotproduct 182130564
ZMrow_ZC_mul_i 185452914
_mulii 278418047

Generated by: LCOV version 1.13