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 18609-ea8a867) Lines: 638 662 96.4 %
Date: 2016-02-13 Functions: 82 83 98.8 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 290 355 81.7 %

Function Name Sort by function name Hit count Sort by hit count
FpXQXQV_autpow 131
FpXQXQV_autsum 74
FpXQXQ_autpow_mul 1
FpXQXQ_autpow_sqr 131
FpXQXQ_autsum_mul 76
FpXQXQ_autsum_sqr 74
FpXQXQ_div 478
FpXQXQ_inv 492
FpXQXQ_invsafe 492
FpXQXQ_matrix_pow 51
FpXQXQ_mul 14238
FpXQXQ_pow 279
FpXQXQ_powers 127
FpXQXQ_sqr 21122
FpXQXV_prod 181
FpXQX_FpXQXQV_eval 152
FpXQX_FpXQXQ_eval 132
FpXQX_FpXQ_mul 88968
FpXQX_digits 343
FpXQX_div_by_X_x 5831
FpXQX_divrem 355916
FpXQX_divrem_Barrett_noGC 18950
FpXQX_divrem_Barrettspec 23283
FpXQX_divrem_basecase 374692
FpXQX_extgcd 7457
FpXQX_fromdigits 105
FpXQX_gcd 30783
FpXQX_get_red 1041
FpXQX_invBarrett 3629
FpXQX_invBarrett_Newton 875
FpXQX_invBarrett_basecase 2747
FpXQX_mul 426297
FpXQX_mulspec 483524
FpXQX_powu 14
FpXQX_recipspec 46566
FpXQX_red 248500
FpXQX_rem 43724
FpXQX_sqr 23187
FpXX_FpX_mul 5370
FpXX_FpX_mulspec 13874
FpXX_Fp_mul 105028
FpXX_add 578478
FpXX_mulu 51654
FpXX_neg 72
FpXX_red 79911
FpXX_sub 33773
FpXX_subspec 23283
FpXYQQ_mul 42
FpXYQQ_pow 1442
FpXYQQ_redswap 112
FpXYQQ_sqr 70
FpXY_FpXQV_evalx 354
FpXY_FpXQ_evalx 70
FpXY_FpY_mulspec 8504
FpXY_eval 12397
FpXY_evalx 23737
FpXY_evaly 16692
Fq_addmul 11662
Kronecker_to_FpXQX 495194
Kronecker_to_ZXX 137431
ZXX_copy 518
ZXX_is_ZX 23187
ZXX_is_ZX_spec 990235
ZXX_lgrenormalizespec 61455
ZXX_mul_Kronecker 224462
ZXX_sqr_Kronecker 2205
_FpXQXQ_add 5086
_FpXQXQ_cmul 5370
_FpXQXQ_mul 3825
_FpXQXQ_one 1400
_FpXQXQ_red 1401
_FpXQXQ_sqr 18169
_FpXQXQ_zero 0
_FpXQX_add 1162
_FpXQX_divrem 9142
_FpXQX_mul 2208
_FpXQX_sqr 1456
get_FpXQX_degree 14505
get_FpXQX_mod 492
get_FpXQX_red 399640
get_FpXQX_var 1605
random_FpXQX 11261
to_FlxqX 341561

Generated by: LCOV version 1.9