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 16912-212c0f0) Lines: 587 640 91.7 %
Date: 2014-10-20 Functions: 73 78 93.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 252 341 73.9 %

Function Name Sort by function name Hit count Sort by hit count
FpXQXQV_autpow 132
FpXQXQV_autsum 77
FpXQXQ_autpow_mul 2
FpXQXQ_autpow_sqr 132
FpXQXQ_autsum_mul 80
FpXQXQ_autsum_sqr 77
FpXQXQ_div 486
FpXQXQ_inv 486
FpXQXQ_invsafe 486
FpXQXQ_matrix_pow 51
FpXQXQ_mul 12967
FpXQXQ_pow 286
FpXQXQ_powers 132
FpXQXQ_sqr 21046
FpXQXV_prod 109
FpXQX_FpXQXQV_eval 161
FpXQX_FpXQXQ_eval 134
FpXQX_FpXQ_mul 71805
FpXQX_digits 112
FpXQX_div_by_X_x 0
FpXQX_divrem 156030
FpXQX_divrem_Barrett 0
FpXQX_divrem_Barrett_noGC 1904
FpXQX_divrem_Barrettspec 2331
FpXQX_divrem_basecase 190398
FpXQX_extgcd 5323
FpXQX_fromdigits 42
FpXQX_gcd 4105
FpXQX_invBarrett 1904
FpXQX_invBarrett_Newton 1561
FpXQX_invBarrett_basecase 343
FpXQX_mul 200545
FpXQX_mulspec 224121
FpXQX_powu 14
FpXQX_recipspec 4662
FpXQX_red 161469
FpXQX_rem 42076
FpXQX_rem_Barrett 0
FpXQX_sqr 21879
FpXX_FpX_mul 5404
FpXX_FpX_mulspec 14181
FpXX_Fp_mul 43759
FpXX_add 276529
FpXX_mulu 41649
FpXX_neg 73
FpXX_red 34422
FpXX_sub 15619
FpXX_subspec 2331
FpXYQQ_mul 42
FpXYQQ_pow 1428
FpXYQQ_redswap 112
FpXYQQ_sqr 70
FpXY_FpXQV_evalx 322
FpXY_FpXQ_evalx 28
FpXY_FpY_mulspec 8777
FpXY_eval 8869
FpXY_evalx 17277
FpXY_evaly 11816
Fq_addmul 0
Kronecker_to_FpXQX 234682
Kronecker_to_ZXX 84371
ZXX_copy 112
ZXX_is_ZX 21879
ZXX_is_ZX_spec 470121
ZXX_lgrenormalizespec 32802
ZXX_mul_Kronecker 130865
_FpXQXQ_add 5111
_FpXQXQ_cmul 5406
_FpXQXQ_mul 3848
_FpXQXQ_one 1421
_FpXQXQ_red 1417
_FpXQXQ_sqr 18386
_FpXQXQ_zero 0
_FpXQX_add 434
_FpXQX_divrem 3584
_FpXQX_mul 895
_FpXQX_sqr 490
to_FlxqX 142853

Generated by: LCOV version 1.9