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 - FF.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 16791-0d1274a) Lines: 819 907 90.3 %
Date: 2014-09-16 Functions: 98 105 93.3 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 328 419 78.3 %

Function Name Sort by function name Hit count Sort by hit count
F2xq_ell_to_a4a6 2755
F3x_equalm1 0
F3xq_ell_to_a4a6 11145
FFC_to_raw 375
FFM_FFC_mul 15
FFM_det 15
FFM_image 15
FFM_inv 15
FFM_ker 15
FFM_mul 15
FFM_rank 15
FFM_to_raw 120
FFM_wrap 45
FFX_factor 50
FFX_init_fix_varn 130
FFX_roots 80
FFX_to_FqX 130
FF_1 23475
FF_Q_add 1030
FF_Z_Z_muldiv 4710
FF_Z_add 82649
FF_Z_mul 208945
FF_add 410749
FF_charpoly 20
FF_conjvec 20
FF_div 35710
FF_ellcard 20485
FF_elldata 85
FF_ellgens 11955
FF_ellgroup 12880
FF_ellinit 29100
FF_elllog 60
FF_ellmul 55175
FF_ellorder 1220
FF_ellrandom 66840
FF_elltatepairing 5
FF_ellweilpairing 5
FF_equal 3570
FF_equal0 274004
FF_equal1 8840
FF_equalm1 0
FF_f 90
FF_inv 3170
FF_ispower 139
FF_issquare 15
FF_issquareall 134
FF_log 90
FF_minpoly 20
FF_mod 35
FF_mul 545460
FF_mul2n 65055
FF_neg 18785
FF_neg_i 21041
FF_norm 20
FF_order 20
FF_p 40
FF_p_i 36744
FF_pow 35
FF_primroot 170
FF_q 0
FF_samefield 1210215
FF_sqr 204620
FF_sqrt 55
FF_sqrtn 70
FF_sub 130516
FF_to_F2xq 52145
FF_to_F2xq_i 0
FF_to_Flxq 374943
FF_to_Flxq_i 0
FF_to_FpXQ 17517
FF_to_FpXQ_i 1975
FF_trace 20
FF_zero 2315
Flxq_ell_to_a4a6 25209
FpXQ_ell_to_a4a6 1221
Fp_cmp_1 0
FqC_to_FpXQC 30
FqM_to_FpXQM 15
FqV_to_FpXQV 1235
Fq_to_FpXQ 2550
RgC_is_FFC 1509607
RgM_is_FFM 1509452
Rg_is_FF 1510192
Tp_to_FF 0
Z_FF_div 215
_checkFF 1122525
_getFF 1966415
_initFF 1768016
_mkFF 1746450
_mkFF_i 561750
ffgen 830
fflog 90
fforder 20
ffprimroot 170
ffrandom 8627
mkFF_i 540105
p_to_FF 1765
raw_to_FFC 150
raw_to_FFM 60
to_FF 604
to_FFC 80
to_FFE 135790
to_FFE_vec 11955
to_FFX 230
to_FF_fact 50

Generated by: LCOV version 1.9