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 21921-ca7d0c8) Lines: 1192 1291 92.3 %
Date: 2018-02-20 06:16:13 Functions: 105 109 96.3 %
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
genus2_eulerfact2 7
lfunmfspec 7
F2x_genus2_find_trans 14
F2x_pseudodisc 14
F2xqX_quad_nbroots 14
F2x_genus2_trans 21
F2x_genus_redoo 21
ellfromeqncharpoly 21
galois_get_conj 21
genus2_redmodel2 21
lfungenus2 21
lfunqf 21
subgroups_largestabelian 21
ellsymsq_bad3 28
genus2_eulerfact 28
genus2_redmodel 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
gamma_imagchi 112
artin_charfromgens 119
vecan_eta 119
qf_iseven 126
vecan_mul 161
lfunellnf 168
vecan_genus2 168
lfunzetainit 175
oneminusxd 196
vecan_qf 259
vecan_twist 315
lfunproduct 336
lfunzetakinit_quotient 336
lfunzetakinit_Galois 364
chigenkerfind 371
lfunabelianrelinit 371
lfuntwist 448
lfunzetak 511
vecan_chiZ 532
lfunmisc_to_ldata 574
eta_inflate_ZXn 595
artin_ind 602
vecan_div 609
linit_get_mat 672
vecan_chigen 735
lfunzetakinit 875
vecan_Kronecker 917
lfuncreate 924
lfunellQ 973
lfunchiquad 1036
lfunchiZ 1141
lfunell 1141
dirzetak 1239
dirzetak0 1239
lfunzetak_i 1246
artin_badprimes 1330
artin_gamma 1330
char_is_real 1330
vecan_closure 1351
idealfrobenius_hard 1470
lfunzeta 1505
handle_zeta 1526
lfunartin 1540
Flx_difftable 1764
Flx_genus2trace_naive 1764
dirgenus2 1890
lfunchigen 2072
artin_ram 2205
char_dim 2660
cyclotos 2681
char_expand 2737
vecan_artin 2814
artin_dim 3101
lfundatatype 3556
vec01 3654
ellsymsq 5012
cyclo_is_real 6230
cyclotoi 7308
tag 8554
ldata_vecan 12908
chigeneval 28609
checkldata 31846
is_tagged 31846
lfunmisc_to_ldata_shallow 34478
lfunmisc_to_ldata_i 35052
idealfrobenius_easy 49693
dirartin 51163
localfactor 81088
Flv_diffnext 190932
gaddmul 223356

Generated by: LCOV version 1.11