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 - lfunutils.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.12.0 lcov report (development 23008-54b2e2f01) Lines: 1352 1503 90.0 %
Date: 2018-09-20 05:37:46 Functions: 125 136 91.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
c4c6_ap 0
c4c6_testp 0
ellsympow_abelian_twist 0
ellsympow_goodred 0
ellsympow_isabelian2 0
ellsympow_isabelian3 0
ellsympow_rootno2 0
lfunconj 0
lfunzetakinit_raw 0
safe_Z_pvalrem 0
vecan_conj 0
lfunmfspec 7
F2x_genus_red 14
ellsymsq_bad3 14
genus2_eulerfact2 14
F2xqX_quad_nbroots 21
ellfromeqncharpoly 21
ellsympow_deltam2 21
ellsympow_goodred2 21
ellsympow_inertia2 21
ellsymsq_bad2 21
lfunqf 21
lfunzetakinit_artin 21
F2x_genus2_find_trans 28
genus2_redmodel2 28
lfungenus2 28
F2x_genus2_trans 35
F2x_pseudodisc 35
ellsympow_rootno3 35
ellsymsq_badp 35
lfunconvol 35
lfunmul 35
lfunmulpoles 35
F2x_genus_redoo 42
etaselfdual 42
genus2_eulerfact 42
genus2_redmodel 42
lfunetaquo 42
lfunconvolinv 49
lfundiv 49
lfundivpoles 49
elldiscfix 56
lfunellmfpeters 56
lfunellmfpetersmintwist 56
lfunellsymsqmintwist 56
mfpeters 56
galois_get_conj 63
ellsympow_deltam3 70
ellsympow_goodred3 70
ellsympow_inertia3 70
ellsympow_multred 70
lfunsympow 70
lfuncombdual 84
ellsympow_nonabelian 91
ellsympow_epsm 98
artin_charfromgens 119
ellsympow_gamma 126
lfunellsympow 126
qf_iseven 126
vecan_eta 126
etachar 133
gamma_imagchi 133
ellminimaldotwist 161
etacuspidal 168
lfunellnf 168
vecan_genus2 168
lfunzetainit 175
etaquotype 182
ellsympow_betam 189
vecan_mul 210
eta_product_ZXn 238
oneminusxd 280
vecan_ellsympow 301
chigenkerfind 329
lfunabelianrelinit 329
lfunproduct 336
lfunzetakinit_quotient 336
vecan_twist 336
lfunzetakinit_Galois 343
vecan_qf 434
lfuntwist 490
lfunzetak 511
vecan_chiZ 532
lfunmisc_to_ldata 595
vecan_div 616
artin_ind 623
vecan_chigen 665
eta_ZXn 672
linit_get_mat 672
lfunzetakinit 854
vecan_Kronecker 959
lfuncreate 966
lfunchiZ 973
lfunellQ 1064
lfunchiquad 1071
lfunzetak_i 1204
lfunell 1232
dirzetak 1260
dirzetak0 1260
lfunzeta 1302
artin_badprimes 1372
artin_gamma 1372
char_is_real 1372
idealfrobenius_hard 1470
handle_zeta 1589
lfunartin 1603
Flx_difftable 1764
Flx_genus2trace_naive 1764
lfunchigen 1820
vecan_closure 1820
dirgenus2 1890
artin_ram 2275
ellsympow_abelian 2702
char_dim 2807
char_expand 2842
cyclotos 2870
vecan_artin 2884
artin_dim 3199
lfundatatype 3479
vec01 3612
cyclo_is_real 6482
cyclotoi 7658
tag 8547
ldata_vecan 14819
chigeneval 27160
checkldata 35283
is_tagged 35283
lfunmisc_to_ldata_shallow 37796
lfunmisc_to_ldata_i 38391
idealfrobenius_easy 51177
dirartin 52647
ellsympow_trace 71939
ellsympow 74641
localfactor 81844
Flv_diffnext 190932
gaddmul 217924

Generated by: LCOV version 1.13