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 - FF.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.14.0 lcov report (development 27920-e0b3650d81) Lines: 1345 1455 92.4 %
Date: 2022-08-07 07:33:29 Functions: 139 147 94.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F3x_equalm1 0
FF_to_F2xq_i 0
FF_to_Flxq_i 0
Fp_cmp_1 0
FqX_to_FFX 0
RgC_is_FFC 0
RgM_is_FFM 0
Rg_is_FF 0
FFXQ_sqr 7
FFX_ddf 7
FFX_factor_squarefree 7
FFX_halfgcd 7
FF_issquare 7
raw_to_FFXM 7
FFXQ_inv 14
FFX_add 14
FF_ellcard_SEA 14
FFM_indexrank 21
FFX_extgcd 21
FFX_resultant 21
gc_gcdext 21
raw_to_FFXC 21
FF_charpoly 28
FF_conjvec 28
FF_norm 28
FF_order 28
FF_trace 28
FFM_suppl 35
FFX_disc 35
fforder 35
FF_Frobenius 42
FF_equalm1 42
FFM_image 49
FFM_FFC_gauss 56
FF_p 56
FFM_FFC_invimage 63
FFM_det 63
FFM_gauss 63
FFM_rank 70
FF_sqrt 70
FFM_ker 77
FFXQ_minpoly 77
FF_pow 80
FFM_deplin 84
FF_var 84
FFM_FFC_mul 91
FF_elllog 91
FF_elltatepairing 98
FFM_invimage 105
FFXQ_mul 105
FF_elldata 119
FFX_degfact 126
FFM_inv 147
FF_minpoly 154
FFX_ispower 168
FFX_preimagerel 168
FF_log 182
fflog 182
FF_issquareall 189
FFM_FFC_wrap 210
FF_ispower 210
FF_sqrtn 217
FFM_wrap 308
Z_FF_div 308
FF_f 371
FF_primroot 392
ffprimroot 392
FFX_factor 441
raw_to_FFX_fact 448
FqM_to_FpXQM 497
FF_gen 525
FFX_rem 574
FFX_preimage 966
FFX_preimage_i 1029
FF_Q_add 1337
FpXQ_ell_to_a4a6 1711
FqV_to_FpXQV 1744
FF_ellorder 1750
FF_map 1778
FFX_sqr 2296
FFX_gcd 2520
FFX_zero 2524
ffgen 2739
p_to_FF 3045
FF_Z_Z_muldiv 3122
Tp_to_FF 4207
FFM_mul 4305
FFM_FFM_wrap 4473
FqC_to_FpXQC 4507
raw_to_FFM 4655
FF_ellweilpairing 4998
FF_zero 6031
FFM_to_raw 9590
FF_1 13097
FF_inv 14282
FF_to_FpXQ 17995
FF_ellgens 18109
to_FFE_vec 18109
FF_ellgroup 19432
FF_equal1 23772
F3xq_ell_to_a4a6 24766
FF_elltwist 27188
FFC_to_raw 45150
F2xq_ell_to_a4a6 45803
FF_q 54481
FF_equal 55951
Flxq_ell_to_a4a6 66875
FF_neg 80473
FF_neg_i 84658
FF_ellcard 95853
FFX_roots 103663
FFX_mul 104693
FFX_wrap2 107808
raw_to_FFX 109820
FF_ellinit 114270
raw_to_FFC 124957
Fq_to_FF 131782
FF_mod 165536
FF_to_FpXQ_i 170919
ffrandom 187474
FF_sub 203141
FF_mul2n 217247
FF_div 236497
FF_ellrandom 243950
FF_ellmul 247366
FFX_to_raw 323983
Z_to_raw 431186
to_FFE 511896
rawFq_to_FF 655565
FF_to_Flxq 726147
FF_to_F2xq 918265
FF_Z_add 1356363
FF_Z_mul 2170807
Rg_to_raw 2265346
FF_p_i 2660281
FF_sqr 2933122
mkFF_i 3082930
_mkFF_i 3299370
FF_equal0 9012349
FF_add 14006336
FF_mul 14523455
_checkFF 28969611
FF_samechar 32646687
FF_samefield 32646687
_mkFF 35962271
_initFF 36178659
_getFF 37653326

Generated by: LCOV version 1.13