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 to exceed 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 - ZX.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.14.0 lcov report (development 27920-e0b3650d81) Lines: 700 791 88.5 %
Date: 2022-08-07 07:33:29 Functions: 95 107 88.8 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
ZXV_ZX_fromdigits 0
ZXV_remi2n 0
ZXX_Z_add_shallow 0
ZX_digits 0
ZX_rescale2n 0
ZX_rescale_lt 0
Z_XpN_powu 0
Z_Xpm1_powu 0
_ZX_add 0
_ZX_divrem 0
_ZX_mul 0
_ZX_sqr 0
QXQM_sqr 7
ZX_div_by_X_1 21
ZXV_equal 35
zx_z_divexact 112
ZXQM_sqr 140
QXQX_powers 448
RgX_check_ZXX 896
zx_to_ZX 1281
ZXn_sqr 1407
QXQX_sqr 1792
ZXQX_sqr 1792
ZXX_max_lg 2723
QXQX_QXQ_mul 3458
QXQM_mul 4389
ZX_eval1 4718
ZXX_sqr_Kronecker 5194
ZXQM_mul 5803
ZM_mod2BIL_ZXQM 5943
ZXV_Z_mul 7476
ZXX_Z_mul 8785
ZXQX_ZXQ_mul 8862
ZXM_to_FlxM 11498
ZC_mod2BIL_ZXQC 12684
QXQX_mul 12789
ZXQX_mul 21651
scalar_ZX_shallow 22296
Kronecker_to_ZXQX 23443
ZXX_evalx0 27163
QX_sqr 28286
ZX_rescale 36577
ZXT_remi2n 46958
ZXX_Z_divexact 55209
scalar_ZX 55612
Z_mod2BIL_ZXQ 61124
FqM_mul_Kronecker 62804
ZM_mod2BIL_FqM 62804
ZX_Z_sub 65610
ZXV_dotproduct 82859
ZX_Z_add 88054
ZX_max_lg 92253
ZX_Z_add_shallow 93175
ZX_remi2n 107953
ZXC_to_FlxC 122420
ZXM_eval2BIL 137354
ZXM_expi 137354
ZC_mod2BIL_FqC 240757
ZX_mulu 251775
RgX_check_QX 297764
ZX_val 327098
ZX_Z_eval 478040
ZX_neg 588598
ZXC_eval2BIL 713697
ZXC_expi 713697
ZX_affine 975101
ZX_divuexact 977795
Z_mod2BIL_Fq 1004988
ZX_translate 1248079
ZX_translate_basecase 1248082
QX_ZX_rem 1656864
RgX_check_ZX 1748615
Kronecker_to_ZXX 1762470
ZX_mod_Xnm1 1801216
ZX_equal 1802564
ZXn_mul 2594324
Z_ZX_sub 2654431
QX_mul 2916779
ZXX_mul_Kronecker 3017351
ZX_eval2BIL 3073024
ZX_expi 3073024
ZX_deriv 4884469
ZX_copy 4919258
ZX_Z_divexact 5021942
ZX_shifti 6038052
RgXX_to_Kronecker 6566134
ZX_rem 9409101
RgXX_to_Kronecker_spec 9609928
ZX_sqrspec_sqri 14545268
ZX_Z_mul 17683244
ZX_valrem 22882032
ZX_mulspec_mulii 23846396
ZX_sub 27818872
Z_sqrshiftspec_ZX 28080518
Z_ZX_mulshiftspec 34747440
Z_mod2BIL_ZX 39451301
ZX_add 40224333
ZX_sqrspec_basecase 53563413
ZX_eval2BILspec 63132273
ZX_mul 78262052
ZX_mulspec 79814185
ZX_sqr 96581571
ZX_sqrspec 96583268
ZX_expispec 116712504
ZXX_renormalize 235747532
ZX_valspec 236488080
ZX_sqrspec_basecase_limb 246727770

Generated by: LCOV version 1.13