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.8.0 lcov report (development 18889-ac2cbba) Lines: 712 798 89.2 %
Date: 2016-05-01 Functions: 93 99 93.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 320 401 79.8 %

Function Name Sort by function name Hit count Sort by hit count
FpXQXM_FpXQX_mul2 96
FpXQXM_mul2 32
FpXQXQV_autpow 145
FpXQXQV_autsum 165
FpXQXQV_auttrace 0
FpXQXQ_autpow_mul 15
FpXQXQ_autpow_sqr 145
FpXQXQ_autsum_mul 258
FpXQXQ_autsum_sqr 165
FpXQXQ_auttrace_mul 0
FpXQXQ_auttrace_sqr 0
FpXQXQ_div 478
FpXQXQ_inv 492
FpXQXQ_invsafe 492
FpXQXQ_matrix_pow 58
FpXQXQ_mul 16247
FpXQXQ_pow 461
FpXQXQ_powers 316
FpXQXQ_sqr 38867
FpXQXV_prod 181
FpXQX_FpXQXM_qmul 0
FpXQX_FpXQXQV_eval 516
FpXQX_FpXQXQ_eval 160
FpXQX_FpXQ_mul 88800
FpXQX_addmulmul 224
FpXQX_digits 378
FpXQX_div_by_X_x 5761
FpXQX_divrem 358314
FpXQX_divrem_Barrett_noGC 22002
FpXQX_divrem_Barrettspec 26335
FpXQX_divrem_basecase 393946
FpXQX_extgcd 7457
FpXQX_extgcd_basecase 478
FpXQX_extgcd_halfgcd 32
FpXQX_fromdigits 119
FpXQX_gcd 13381
FpXQX_gcd_basecase 332
FpXQX_get_red 2000
FpXQX_halfgcd 32
FpXQX_halfgcd_basecase 32
FpXQX_halfgcd_i 32
FpXQX_halfgcd_split 0
FpXQX_invBarrett 3671
FpXQX_invBarrett_Newton 875
FpXQX_invBarrett_basecase 2789
FpXQX_mul 435018
FpXQX_mulspec 498349
FpXQX_powu 182
FpXQX_recipspec 52670
FpXQX_red 256321
FpXQX_rem 63996
FpXQX_sqr 41282
FpXX_FpX_mul 7078
FpXX_FpX_mulspec 17630
FpXX_Fp_mul 107408
FpXX_add 590077
FpXX_deriv 32669
FpXX_mulu 51675
FpXX_neg 72
FpXX_red 47908
FpXX_sub 20717
FpXX_subspec 26335
FpXYQQ_mul 42
FpXYQQ_pow 1442
FpXYQQ_redswap 112
FpXYQQ_sqr 70
FpXY_FpXQV_evalx 753
FpXY_FpXQ_evalx 77
FpXY_FpY_mulspec 10552
FpXY_eval 12397
FpXY_evalx 23737
FpXY_evaly 16692
Fq_addmul 11522
Kronecker_to_FpXQX 523539
Kronecker_to_ZXX 137543
ZXX_copy 518
ZXX_is_ZX 41282
ZXX_is_ZX_spec 1037980
ZXX_lgrenormalizespec 67559
ZXX_mul_Kronecker 224462
ZXX_sqr_Kronecker 2205
_FpXQXQ_add 6402
_FpXQXQ_cmul 7078
_FpXQXQ_mul 5652
_FpXQXQ_one 2177
_FpXQXQ_red 2073
_FpXQXQ_sqr 35914
_FpXQXQ_zero 0
_FpXQX_add 1169
_FpXQX_divrem 9275
_FpXQX_mul 2341
_FpXQX_sqr 1722
get_FpXQX_degree 1212
get_FpXQX_mod 492
get_FpXQX_red 422310
get_FpXQX_var 2466
matid2_FpXQXM 32
random_FpXQX 4410
to_FlxqX 320337

Generated by: LCOV version 1.9