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 - factcyclo.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.0 lcov report (development 29806-4d001396c7) Lines: 916 1079 84.9 %
Date: 2024-12-22 09:08:28 Functions: 77 85 90.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Fl_mk_v_t_p3 288
Fl_next_gen3 21024
Flv_FlvV_factorback 15807
Flx_1st_lift 42709
Flx_1st_lift_2 65972
Flx_Newton_perm 81847
Flx_conductor_lift 140965
Flx_factcyclo 308
Flx_factcyclo_fact 0
Flx_factcyclo_gen 43996
Flx_factcyclo_i 156721
Flx_factcyclo_just_conductor 88907
Flx_factcyclo_lift 0
Flx_factcyclo_newton_general 13340
Flx_factcyclo_newton_general_new3 7
Flx_factcyclo_newton_pre 31564
Flx_factcyclo_prime_power 0
Flx_factcyclo_prime_power_i 31564
Flx_lift 158258
Flx_pol_newton 57409
Flx_pol_newton_general 24102
Flx_pol_newton_general_new3 336
Flx_split 34186
FpX_1st_lift 3190
FpX_1st_lift_2 4483
FpX_Newton_perm 10758
FpX_conductor_lift 10501
FpX_degsub 77072
FpX_factcyclo 42
FpX_factcyclo_fact 7
FpX_factcyclo_gen 1349
FpX_factcyclo_i 10656
FpX_factcyclo_just_conductor 5698
FpX_factcyclo_just_conductor_init 94605
FpX_factcyclo_lift 7
FpX_factcyclo_newton_general 2414
FpX_factcyclo_newton_general_new3 46
FpX_factcyclo_newton_power 33460
FpX_factcyclo_newton_pre 1896
FpX_factcyclo_prime_power 14
FpX_factcyclo_prime_power_i 2658
FpX_lift 11807
FpX_pol_newton 3547
FpX_pol_newton_general 6866
FpX_pol_newton_general_new3 345
FpX_split 2802
Fp_mk_v_t_p3 393
Fp_next_gen3 10937
QXV_den_pval 15807
QX_den_pval 92826
Q_size 0
ZX_Zp_liftroots 2513
ZX_chinese_center 0
ZX_size 0
ZX_to_nx 0
ZpX_roots_all 49267
ZpX_roots_nonsep 833
cmpGuGu 1734612
factormodcyclo 167027
gausspol 33460
gausspol_el 100456
get_G 66920
get_GH_gen 15807
get_d0_d1 49267
get_i_t 15807
get_kT 15754
get_kT_all 53
get_kTdiv 53
get_n_el 49267
get_vG 31614
get_vT 15807
header 0
kT_from_kt_new 53
list_el_n 98534
mk_v_t_el 48054
newton_general_new_pre3 53
set_E 33460
set_R 33460
set_action 94605
set_e0_e1 34222
start_el_n 49267
update_dfm 70
use_general 7
use_newton 78511
use_newton_general 14

Generated by: LCOV version 1.16