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 - ZV.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 20422-b487f4d) Lines: 761 837 90.9 %
Date: 2017-03-22 05:51:54 Functions: 108 114 94.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Flc_lincomb1_inplace 8584995
RgM_check_ZM 145508
RgV_check_ZV 476092
ZC_ZV_mul 0
ZC_Z_add 61836
ZC_Z_div 162050
ZC_Z_divexact 2409317
ZC_Z_mul 8831376
ZC_Z_sub 0
ZC_add 5741644
ZC_add_i 17403398
ZC_copy 4398529
ZC_hnfremdiv 783479
ZC_is_ei 78043
ZC_lincomb 7056836
ZC_lincomb1 1846505
ZC_lincomb1_inplace 32735433
ZC_lincomb_1 224018
ZC_neg 1994698
ZC_reducemodlll 6533
ZC_reducemodmatrix 15332
ZC_reducemodmatrix_i 15332
ZC_sub 1056132
ZC_sub_i 1774410
ZC_z_mul 13678
ZMV_to_zmV 21
ZM_ZC_mul 4667700
ZM_ZC_mul_i 19697527
ZM_Z_div 9681
ZM_Z_divexact 763097
ZM_Z_mul 595509
ZM_add 1084364
ZM_copy 184133
ZM_det_triangular 740525
ZM_diag_mul 36492
ZM_equal 368105
ZM_hnfdivrem 27364
ZM_isdiagonal 54360
ZM_ishnf 71239
ZM_isidentity 272072
ZM_isscalar 15542
ZM_max_lg 1598
ZM_mul 4393916
ZM_mul_classical 4415266
ZM_mul_diag 14
ZM_mul_i 4425479
ZM_mul_sw 11249
ZM_multosym 0
ZM_nc_mul_i 645624
ZM_neg 265615
ZM_nm_mul 616088
ZM_pow 0
ZM_powu 420
ZM_reducemodlll 0
ZM_reducemodmatrix 4396
ZM_reducemodmatrix_i 4396
ZM_sqr 1036
ZM_sqr_i 1036
ZM_sub 633885
ZM_supnorm 2205
ZM_to_zm 868
ZM_togglesign 0
ZM_transmul 497
ZM_transmultosym 160265
ZM_zc_mul 1453242
ZM_zc_mul_i 2664334
ZM_zm_mul 588122
ZMrow_ZC_mul 23690527
ZMrow_ZC_mul_i 148095787
ZRED 57726
ZV_ZM_mul 6342
ZV_abscmp 3480
ZV_cmp 591466
ZV_content 9912
ZV_dotproduct 8148844
ZV_dotproduct_i 10875308
ZV_dotsquare 3228934
ZV_equal 7781266
ZV_equal0 481814
ZV_equal_lg 8950593
ZV_max_lg 10612
ZV_neg_inplace 55078
ZV_prod 7380305
ZV_sum 56
ZV_to_nv 6405
ZV_togglesign 1768365
ZV_zc_mul 1645
Z_ZC_sub 133093
ZincrementalGS 68711
Zupdate_row 30215
_ZM_mul 56
_ZM_sqr 560
_mulii 272800240
add_slices 89992
check_ZV 411371
nm_Z_mul 616088
subtract_slices 78743
vecsmall_prod 14694393
zmV_to_ZMV 98
zm_to_Flm 15792
zm_to_ZM 368798
zvV_equal 385
zv_ZM_mul 1295
zv_content 969230
zv_dotproduct 151007458
zv_equal 22651019
zv_equal0 17350641
zv_neg 23298
zv_neg_inplace 245
zv_prod 293118
zv_prod_Z 364890
zv_sum 1582
zv_to_Flv 223314
zv_z_mul 8194

Generated by: LCOV version 1.11