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 - FF.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 21921-ca7d0c8) Lines: 1042 1102 94.6 %
Date: 2018-02-20 06:16:13 Functions: 125 131 95.4 %
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
FF_issquare 7
FFXQ_inv 14
FFXQ_mul 14
FF_ellcard_SEA 14
FFM_indexrank 21
FFM_suppl 21
FF_charpoly 28
FF_conjvec 28
FF_norm 28
FF_order 28
FF_trace 28
fforder 28
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 79
FFM_deplin 84
FF_elllog 91
FF_elltatepairing 91
FFM_invimage 105
FF_elldata 119
FFM_inv 147
FF_minpoly 154
Fq_to_FF 161
FFX_ispower 168
FqM_to_FpXQM 173
FF_log 175
fflog 175
FF_issquareall 182
FFM_FFC_wrap 196
FF_ispower 203
FF_sqrtn 217
FFM_mul 231
Z_FF_div 259
FFM_wrap 294
Tp_to_FF 357
FF_f 364
FF_primroot 385
ffprimroot 385
FFM_FFM_wrap 399
FFX_factor 420
raw_to_FFX_fact 420
FF_gen 469
raw_to_FFM 567
FFX_preimage 966
FF_Q_add 1344
FFM_to_raw 1484
FqC_to_FpXQC 1632
FF_map 1687
FpXQ_ell_to_a4a6 1710
FqV_to_FpXQV 1743
FF_ellorder 1750
FFX_sqr 2261
FFX_rem 2415
FFX_zero 2468
ffgen 2571
p_to_FF 2898
FF_Z_Z_muldiv 4823
FF_ellweilpairing 4984
FF_zero 5961
FF_inv 8051
FFC_to_raw 14112
FF_equal1 14868
FF_1 16072
FF_ellgens 16772
to_FFE_vec 16772
FF_ellgroup 18081
FF_to_FpXQ 19663
F3xq_ell_to_a4a6 23541
FF_elltwist 27188
FF_neg 34329
FF_equal 39683
F2xq_ell_to_a4a6 45663
FF_q 54481
Flxq_ell_to_a4a6 65602
FF_neg_i 85036
FF_ellcard 94551
FFX_mul 101886
FFX_roots 103649
FFX_wrap2 104315
raw_to_FFX 105893
raw_to_FFC 108472
FF_ellinit 112856
FF_div 121037
ffrandom 144466
FF_mod 165214
FF_to_FpXQ_i 170149
FF_mul2n 217051
FF_ellrandom 244034
FF_ellmul 247450
FF_sub 281680
FFX_to_raw 316045
Z_to_raw 432376
to_FFE 510755
rawFq_to_FF 632927
FF_to_Flxq 786758
FF_to_F2xq 963731
FF_Z_add 1655746
Rg_to_raw 1758588
FF_Z_mul 1845668
FF_p_i 2086673
FF_sqr 2778791
mkFF_i 2887929
_mkFF_i 2973130
FF_equal0 8813327
FF_add 8857983
RgM_is_FFM 9235889
RgC_is_FFC 9237426
Rg_is_FF 9267720
FF_mul 9476343
_checkFF 18737220
FF_samefield 21402508
FF_samechar 21402510
_mkFF 25458510
_initFF 25543696
_getFF 27006132

Generated by: LCOV version 1.11