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 16741-1378b1c) Lines: 554 623 88.9 %
Date: 2014-08-17 Functions: 66 76 86.8 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 239 329 72.6 %

Function Name Sort by function name Hit count Sort by hit count
FpXQXQV_autpow 87
FpXQXQV_autsum 48
FpXQXQ_autpow_mul 2
FpXQXQ_autpow_sqr 87
FpXQXQ_autsum_mul 51
FpXQXQ_autsum_sqr 48
FpXQXQ_div 325
FpXQXQ_inv 325
FpXQXQ_invsafe 325
FpXQXQ_matrix_pow 37
FpXQXQ_mul 3640
FpXQXQ_pow 183
FpXQXQ_powers 88
FpXQXQ_sqr 12709
FpXQXV_prod 91
FpXQX_FpXQXQV_eval 102
FpXQX_FpXQXQ_eval 89
FpXQX_FpXQ_mul 40775
FpXQX_digits 0
FpXQX_divrem 34090
FpXQX_divrem_Barrett 0
FpXQX_divrem_Barrett_noGC 1230
FpXQX_divrem_Barrettspec 1475
FpXQX_divrem_basecase 51672
FpXQX_extgcd 3780
FpXQX_fromdigits 0
FpXQX_gcd 2820
FpXQX_invBarrett 1230
FpXQX_invBarrett_Newton 985
FpXQX_invBarrett_basecase 245
FpXQX_mul 68022
FpXQX_mulspec 82792
FpXQX_powu 0
FpXQX_recipspec 2950
FpXQX_red 110924
FpXQX_rem 21225
FpXQX_rem_Barrett 0
FpXQX_sqr 12849
FpXX_FpX_mul 3655
FpXX_FpX_mulspec 6916
FpXX_Fp_mul 9105
FpXX_add 61104
FpXX_mulu 23150
FpXX_neg 45
FpXX_red 15195
FpXX_sub 7650
FpXX_subspec 1475
FpXYQQ_mul 30
FpXYQQ_pow 1020
FpXYQQ_redswap 80
FpXYQQ_sqr 50
FpXY_FpXQV_evalx 191
FpXY_FpXQ_evalx 0
FpXY_FpY_mulspec 3261
FpXY_eval 5985
FpXY_evalx 11598
FpXY_evaly 7880
Kronecker_to_FpXQX 90792
Kronecker_to_ZXX 59935
ZXX_copy 80
ZXX_is_ZX 12849
ZXX_is_ZX_spec 178433
ZXX_lgrenormalizespec 20680
ZXX_mul_Kronecker 93475
_FpXQXQ_add 3464
_FpXQXQ_cmul 3655
_FpXQXQ_mul 2599
_FpXQXQ_one 944
_FpXQXQ_red 938
_FpXQXQ_sqr 12419
_FpXQXQ_zero 0
_FpXQX_add 0
_FpXQX_divrem 0
_FpXQX_mul 337
_FpXQX_sqr 0
to_FlxqX 31146

Generated by: LCOV version 1.9