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 - FpXX.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 17097-9391e68) Lines: 602 641 93.9 %
Date: 2014-11-21 Functions: 75 78 96.2 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 262 341 76.8 %

Function Name Sort by function name Hit count Sort by hit count
FpXQXQV_autpow 97
FpXQXQV_autsum 58
FpXQXQ_autpow_mul 1
FpXQXQ_autpow_sqr 97
FpXQXQ_autsum_mul 60
FpXQXQ_autsum_sqr 58
FpXQXQ_div 356
FpXQXQ_inv 366
FpXQXQ_invsafe 366
FpXQXQ_matrix_pow 36
FpXQXQ_mul 9499
FpXQXQ_pow 213
FpXQXQ_powers 97
FpXQXQ_sqr 15336
FpXQXV_prod 136
FpXQX_FpXQXQV_eval 121
FpXQX_FpXQXQ_eval 98
FpXQX_FpXQ_mul 52107
FpXQX_digits 55
FpXQX_div_by_X_x 4115
FpXQX_divrem 115281
FpXQX_divrem_Barrett 0
FpXQX_divrem_Barrett_noGC 1685
FpXQX_divrem_Barrettspec 3275
FpXQX_divrem_basecase 140158
FpXQX_extgcd 4546
FpXQX_fromdigits 20
FpXQX_gcd 21255
FpXQX_invBarrett 1685
FpXQX_invBarrett_Newton 1115
FpXQX_invBarrett_basecase 570
FpXQX_mul 148892
FpXQX_mulspec 168952
FpXQX_powu 10
FpXQX_recipspec 6550
FpXQX_red 153054
FpXQX_rem 30744
FpXQX_rem_Barrett 0
FpXQX_sqr 15956
FpXX_FpX_mul 3954
FpXX_FpX_mulspec 9035
FpXX_Fp_mul 29477
FpXX_add 182197
FpXX_mulu 29771
FpXX_neg 55
FpXX_red 37268
FpXX_sub 21016
FpXX_subspec 3275
FpXYQQ_mul 30
FpXYQQ_pow 1020
FpXYQQ_redswap 80
FpXYQQ_sqr 50
FpXY_FpXQV_evalx 233
FpXY_FpXQ_evalx 15
FpXY_FpY_mulspec 5081
FpXY_eval 6335
FpXY_evalx 12343
FpXY_evaly 8440
Fq_addmul 8230
Kronecker_to_FpXQX 177918
Kronecker_to_ZXX 82210
ZXX_copy 160
ZXX_is_ZX 15956
ZXX_is_ZX_spec 353860
ZXX_lgrenormalizespec 26650
ZXX_mul_Kronecker 131630
_FpXQXQ_add 3737
_FpXQXQ_cmul 3956
_FpXQXQ_mul 2814
_FpXQXQ_one 1046
_FpXQXQ_red 1047
_FpXQXQ_sqr 13428
_FpXQXQ_zero 0
_FpXQX_add 300
_FpXQX_divrem 2375
_FpXQX_mul 817
_FpXQX_sqr 300
to_FlxqX 119366

Generated by: LCOV version 1.9