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 - FpX_factor.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 22303-eb3e11d) Lines: 1234 1329 92.9 %
Date: 2018-04-21 06:16:28 Functions: 111 118 94.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2xV_to_FlxV_inplace 19978
F2xV_to_ZXV_inplace 143806
F2x_Berlekamp_i 11475
F2x_Berlekamp_ker 10376
F2x_Cantor_i 64807
F2x_ddf 7
F2x_ddf_simple 80170
F2x_ddf_to_ddf2 7
F2x_degfact 0
F2x_degfact_2 7105
F2x_edf_simple 9722
F2x_factor 14950
F2x_factor_2 104454
F2x_factor_Cantor 64807
F2x_factor_Shoup 80160
F2x_factor_deg2 111566
F2x_factor_i 187848
F2x_factor_squarefree 76282
F2x_is_irred 238
F2x_is_irred_2 7
F2x_quad_factortype 57558
F2x_split_Berlekamp 14271
F2xq_frobtrace 6484
FE_concat 476797
Fl_disc_bc 21229668
Fl_nonsquare 28
FlxV_to_ZXV_inplace 720755
Flx_Xn1 140
Flx_Xnm1 126
Flx_cubic_root 173409
Flx_ddf 0
Flx_ddf_Shoup 1070297
Flx_degfact 1106201
Flx_degfact_2 742700
Flx_edf 151250
Flx_edf_rec 342535
Flx_edf_simple 121113
Flx_factor 135518
Flx_factor_2 422497
Flx_factor_Cantor 411375
Flx_factor_Shoup 433449
Flx_factor_deg2 1165232
Flx_factor_i 1960674
Flx_factor_squarefree 766889
Flx_is_irred 581
Flx_is_irred_2 35
Flx_isirred_Cantor 581
Flx_ispower 126
Flx_nbfact 90741
Flx_nbfact_Frobenius 90741
Flx_nbfact_by_degree 188023
Flx_nbroots 2403613
Flx_oneroot 3073491
Flx_oneroot_i 3112833
Flx_oneroot_mod_2 56
Flx_oneroot_split 32084
Flx_otherroot 12274008
Flx_quad_factortype 725592
Flx_quad_root 20504814
Flx_root_mod_2 8839
Flx_roots 21993876
Flx_roots_i 22051144
Flx_simplefact_Cantor 354639
FpX_ddf 7
FpX_ddf_Shoup 5078
FpX_ddf_i 0
FpX_degfact 42
FpX_degfact_2 14
FpX_edf 222
FpX_edf_rec 448
FpX_edf_simple 0
FpX_factor 863480
FpX_factor_2 734
FpX_factor_Cantor 615
FpX_factor_Shoup 654
FpX_factor_Yun 671
FpX_factor_deg2 755
FpX_factor_i 1384
FpX_factor_squarefree 749
FpX_is_irred 49
FpX_is_irred_2 7
FpX_is_totally_split 0
FpX_isirred_Cantor 0
FpX_ispower 168
FpX_nbfact 0
FpX_nbfact_Frobenius 4410
FpX_nbroots 99148
FpX_oneroot 12152
FpX_oneroot_i 4848
FpX_oneroot_split 924
FpX_otherroot 3140
FpX_quad_factortype 21
FpX_quad_root 7659
FpX_roots 70526
FpX_roots_i 2995
FpX_simplefact_Cantor 14
FpX_split_part 142606
ZX_factmod_init 863578
ZX_rootmod_init 82678
all_roots_mod_p 42
cmpGuGu 3185913
ddf_to_ddf2 7
ddf_to_ddf2_i 14
ddf_to_nbfact 529975
good_root_of_unity 217
prime_fact 63
rootmod_aux 70526
split_Flx_cut_out_roots 4914461
split_add 5160789
split_add_done 387963
split_done 368607
split_init 4917819
split_moveto_done 5160797
split_nonsquares 4816
split_squares 4816
split_todo 333341
trivial_fact 1029
vddf_to_simplefact 354779

Generated by: LCOV version 1.11