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.12.0 lcov report (development 23348-5caea72e3) Lines: 1109 1170 94.8 %
Date: 2018-12-14 05:41:32 Functions: 134 140 95.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F3x_equalm1 0
FFXQ_sqr 0
FF_to_F2xq_i 0
FF_to_Flxq_i 0
Fp_cmp_1 0
FqX_to_FFX 0
FFX_ddf 7
FFX_factor_squarefree 7
FF_issquare 7
raw_to_FFXC 7
FFXQ_inv 14
FFXQ_mul 14
FF_ellcard_SEA 14
FFM_indexrank 21
FFX_extgcd 21
FFX_resultant 21
gc_gcdext 21
FF_charpoly 28
FF_conjvec 28
FF_norm 28
FF_order 28
FF_trace 28
fforder 28
FFM_suppl 35
FFX_disc 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 63
FF_sqrt 70
FFM_FFC_mul 77
FFM_ker 77
FF_pow 80
FFM_deplin 84
FF_elllog 91
FF_elltatepairing 91
FFM_invimage 105
FF_elldata 119
FFX_degfact 126
FFM_inv 147
FF_minpoly 154
FFX_ispower 168
FF_issquareall 182
FF_log 182
fflog 182
FFM_FFC_wrap 196
FF_ispower 203
FF_sqrtn 217
Z_FF_div 301
FFM_wrap 308
FF_f 364
FqM_to_FpXQM 390
FF_primroot 392
ffprimroot 392
FFX_factor 441
raw_to_FFX_fact 448
FF_gen 469
FFX_rem 616
FFX_preimage 966
FF_Q_add 1337
FF_map 1687
FpXQ_ell_to_a4a6 1711
FqV_to_FpXQV 1744
FF_ellorder 1750
FqC_to_FpXQC 2206
FFX_zero 2244
FFX_sqr 2296
ffgen 2413
FFX_gcd 2541
p_to_FF 2989
FFM_mul 3948
FFM_FFM_wrap 4116
Tp_to_FF 4179
raw_to_FFM 4298
FF_Z_Z_muldiv 4529
FF_ellweilpairing 4984
FF_zero 5723
FFM_to_raw 8932
FF_1 13160
FF_inv 14075
FF_to_FpXQ 17946
FF_ellgens 18109
to_FFE_vec 18109
FF_ellgroup 19432
FF_equal1 23723
F3xq_ell_to_a4a6 24710
FF_elltwist 27188
FFC_to_raw 28308
FF_neg 40055
F2xq_ell_to_a4a6 45659
FF_q 54481
FF_equal 55412
Flxq_ell_to_a4a6 66812
FF_neg_i 85015
FF_ellcard 95667
FFX_roots 103649
FFX_mul 104161
FFX_wrap2 107332
raw_to_FFX 109274
FF_ellinit 114063
raw_to_FFC 115794
Fq_to_FF 131761
ffrandom 144438
FF_mod 165543
FF_to_FpXQ_i 170821
FF_mul2n 216858
FF_div 236787
FF_ellrandom 244314
FF_ellmul 247702
FF_sub 283084
FFX_to_raw 322394
Z_to_raw 431319
to_FFE 512575
rawFq_to_FF 654529
FF_to_Flxq 726168
FF_to_F2xq 918675
FF_Z_add 1658341
Rg_to_raw 1818172
FF_p_i 2178516
FF_Z_mul 2242133
mkFF_i 2835565
FF_sqr 2893672
_mkFF_i 3052341
FF_equal0 8918906
FF_add 9202138
FF_mul 9584554
RgM_is_FFM 11481102
RgC_is_FFC 11481613
Rg_is_FF 11489033
_checkFF 19306745
FF_samechar 22113539
FF_samefield 22113539
_mkFF 26550176
_initFF 26766924
_getFF 28240812

Generated by: LCOV version 1.13