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 - FpXX.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 20837-113f31d) Lines: 716 826 86.7 %
Date: 2017-07-26 06:22:08 Functions: 93 101 92.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpXQXM_FpXQX_mul2 68
FpXQXM_mul2 56
FpXQXQV_autpow 152
FpXQXQV_autsum 1131
FpXQXQV_auttrace 0
FpXQXQ_autpow_mul 15
FpXQXQ_autpow_sqr 152
FpXQXQ_autsum_mul 1210
FpXQXQ_autsum_sqr 1131
FpXQXQ_auttrace_mul 0
FpXQXQ_auttrace_sqr 0
FpXQXQ_div 0
FpXQXQ_inv 21
FpXQXQ_invsafe 21
FpXQXQ_matrix_pow 58
FpXQXQ_mul 31608
FpXQXQ_pow 1355
FpXQXQ_powers 1268
FpXQXQ_sqr 130793
FpXQXV_FpXQX_fromdigits 189
FpXQXV_prod 109
FpXQX_FpXQXM_qmul 56
FpXQX_FpXQXQV_eval 2420
FpXQX_FpXQXQ_eval 167
FpXQX_FpXQ_mul 152776
FpXQX_addmulmul 136
FpXQX_digits 588
FpXQX_div_by_X_x 5957
FpXQX_divrem 198858
FpXQX_divrem_Barrett_noGC 45925
FpXQX_divrem_Barrettspec 46502
FpXQX_divrem_basecase 117672
FpXQX_extgcd 5901
FpXQX_extgcd_basecase 0
FpXQX_extgcd_halfgcd 0
FpXQX_gcd 10627
FpXQX_gcd_basecase 1299
FpXQX_get_red 8210
FpXQX_halfgcd 124
FpXQX_halfgcd_basecase 68
FpXQX_halfgcd_i 124
FpXQX_halfgcd_split 56
FpXQX_invBarrett 1175
FpXQX_invBarrett_Newton 182
FpXQX_invBarrett_basecase 972
FpXQX_mul 300089
FpXQX_mulspec 395403
FpXQX_powu 182
FpXQX_recipspec 93004
FpXQX_red 157600
FpXQX_rem 178443
FpXQX_sqr 133474
FpXX_FpX_mul 29212
FpXX_FpX_mulspec 34877
FpXX_Fp_mul 63973
FpXX_add 395805
FpXX_deriv 270110
FpXX_mulu 51908
FpXX_neg 471
FpXX_red 32515
FpXX_sub 12782
FpXX_subspec 46502
FpXYQQ_mul 42
FpXYQQ_pow 28
FpXYQQ_redswap 112
FpXYQQ_sqr 70
FpXY_FpXQV_evalx 2734
FpXY_FpXQ_evalx 147
FpXY_FpY_mulspec 5665
FpXY_eval 12397
FpXY_evalx 50253
FpXY_evaly 16692
Fq_addmul 11914
Kronecker_to_FpXQX 518674
Kronecker_to_ZXX 99127
ZXX_copy 81
ZXX_is_ZX 133474
ZXX_is_ZX_spec 924280
ZXX_lgrenormalizespec 96469
ZXX_mul_Kronecker 157178
ZXX_sqr_Kronecker 2065
_FpXQXQ_cmul 29212
_FpXQXQ_mul 29540
_FpXQXQ_one 8462
_FpXQXQ_red 11365
_FpXQXQ_sqr 130793
_FpXQXQ_zero 68
_FpXQX_add 27794
_FpXQX_divrem 9905
_FpXQX_mul 2745
_FpXQX_sqr 2142
_FpXQX_sub 4109
get_FpXQXQ_algebra 495
get_FpXQX_algebra 42
get_FpXQX_degree 1443
get_FpXQX_mod 142443
get_FpXQX_red 377301
get_FpXQX_var 51040
matid2_FpXQXM 0
random_FpXQX 0
to_FlxqX 215446

Generated by: LCOV version 1.11