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-21 09:08:57 Functions: 77 85 90.6 %
Legend: Lines: hit not hit

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

Generated by: LCOV version 1.16