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 - lfunutils.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 21355-49ee849) Lines: 1136 1227 92.6 %
Date: 2017-11-25 06:21:19 Functions: 102 106 96.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
c4c6_testp 0
lfunconj 0
lfunzetakinit_raw 0
vecan_conj 0
F2x_genus_red 7
ellfromeqncharpoly 7
genus2_eulerfact2 7
lfunmfspec 7
F2x_genus2_find_trans 14
F2x_pseudodisc 14
F2xqX_quad_nbroots 14
genus2_eulerfact 14
genus2_redmodel 14
genus2_redmodel2 14
lfungenus2 14
F2x_genus2_trans 21
F2x_genus_redoo 21
galois_get_conj 21
lfunqf 21
subgroups_largestabelian 21
ellsymsq_bad3 28
vecan_genus2 28
etaquocheck 35
etaquotype 35
lfunconvol 35
lfunetaquo 35
lfunmul 35
lfunmulpoles 35
ellsymsq_bad2 42
lfunconvolinv 49
lfundiv 49
lfundivpoles 49
elldiscfix 56
lfunellmfpeters 56
lfunellmfpetersmintwist 56
lfunellsymsqmintwist 56
mfpeters 56
vecan_ellsymsq 56
ellsymsq_badp 70
lfuncombdual 84
qf_iseven 98
artin_charfromgens 119
vecan_eta 119
oneminusxd 140
vecan_mul 161
lfunellnf 168
lfunzetainit 175
lfunmisc_to_ldata 217
lfunchiZ 252
vecan_qf 259
vecan_chiZ 308
lfunproduct 336
lfunzetakinit_quotient 336
lfunzetakinit_Galois 364
chigenkerfind 371
lfunabelianrelinit 371
lfunzetak 511
eta_inflate_ZXn 518
lfuncreate 560
artin_ind 602
vecan_Kronecker 602
lfunellQ 609
vecan_div 609
linit_get_mat 672
lfunchiquad 707
vecan_chigen 735
lfunell 777
lfunzetakinit 875
lfunzeta 1043
lfunchigen 1190
dirzetak 1239
dirzetak0 1239
lfunzetak_i 1246
artin_badprimes 1330
artin_gamma 1330
char_is_real 1330
vecan_closure 1337
Flx_difftable 1386
Flx_genus2trace_naive 1386
idealfrobenius_hard 1470
dirgenus2 1512
handle_zeta 1526
lfunartin 1540
artin_ram 2205
lfundatatype 2282
char_dim 2660
cyclotos 2681
char_expand 2737
vecan_artin 2814
artin_dim 3101
vec01 3654
ellsymsq 5012
cyclo_is_real 6230
tag 7049
cyclotoi 7308
ldata_vecan 11123
checkldata 20151
is_tagged 20151
lfunmisc_to_ldata_shallow 21873
lfunmisc_to_ldata_i 22090
chigeneval 28609
idealfrobenius_easy 49693
dirartin 51163
localfactor 81088
Flv_diffnext 187446
gaddmul 223356

Generated by: LCOV version 1.11