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 20443-183d202) Lines: 1404 1600 87.8 %
Date: 2017-03-27 05:17:48 Functions: 126 137 92.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2xV_to_FlxV_inplace 11955
F2xV_to_ZXV_inplace 80405
F2x_Berlekamp_i 89040
F2x_Berlekamp_ker 12270
F2x_ddf_simple 18060
F2x_degfact 0
F2x_degfact_2 715
F2x_edf_simple 8745
F2x_factcantor 10560
F2x_factcantor_i 16015
F2x_factor 10
F2x_factor_2 52975
F2x_factor_Cantor 12035
F2x_factor_Shoup 16675
F2x_factor_deg2 53695
F2x_factor_squarefree 51190
F2x_is_irred 170
F2x_is_irred_2 5
F2x_isirred_Cantor 170
F2x_quad_factortype 19075
F2x_simplefact_Cantor 1235
F2x_simplefact_Shoup 1265
F2x_split_Berlekamp 35280
F2xq_frobtrace 5615
FE_concat 283315
FE_setlg 274766
Fl_disc_bc 11779544
Fl_nonsquare 5
FlxV_to_ZXV_inplace 466680
Flx_Berlekamp_i 490920
Flx_Berlekamp_ker 181436
Flx_Xn1 5
Flx_Xnm1 10
Flx_addmul_inplace 534350
Flx_cubic_root 151365
Flx_cut_out_roots 10
Flx_ddf 357565
Flx_degfact 348020
Flx_degfact_2 95815
Flx_edf 13195
Flx_edf_rec 23095
Flx_edf_simple 30770
Flx_factcantor 5170
Flx_factcantor_i 372735
Flx_factor 44915
Flx_factor_2 246669
Flx_factor_Cantor 19775
Flx_factor_Shoup 21960
Flx_factor_deg2 342484
Flx_factor_squarefree 507226
Flx_is_irred 415
Flx_is_irred_2 0
Flx_isirred_Cantor 415
Flx_nbfact 40395
Flx_nbfact_Frobenius 40395
Flx_nbfact_by_degree 43930
Flx_nbroots 1706225
Flx_oneroot 894420
Flx_oneroot_i 919155
Flx_oneroot_mod_2 10
Flx_oneroot_split 19550
Flx_otherroot 7774517
Flx_quad_factortype 83570
Flx_quad_root 11695974
Flx_root_mod_2 4945
Flx_roots 13884305
Flx_roots_i 13923225
Flx_roots_naive 10
Flx_simplefact_Cantor 250265
Flx_simplefact_Shoup 250965
Flx_split_Berlekamp 241401
FpX_Berlekamp_i 545580
FpX_Berlekamp_ker 30
FpX_ddf 2930
FpX_degfact 0
FpX_degfact_2 10
FpX_edf 10
FpX_edf_rec 150
FpX_edf_simple 0
FpX_factcantor 0
FpX_factcantor_i 25
FpX_factor 545530
FpX_factor_2 50
FpX_factor_Cantor 5
FpX_factor_Shoup 10
FpX_factor_Yun 185
FpX_factor_deg2 65
FpX_factor_squarefree 520
FpX_is_irred 10
FpX_is_irred_2 5
FpX_is_totally_split 0
FpX_isirred_Cantor 0
FpX_nbfact 20
FpX_nbfact_Frobenius 2920
FpX_nbroots 70370
FpX_oneroot 7710
FpX_oneroot_i 2515
FpX_oneroot_split 0
FpX_otherroot 1980
FpX_quad_factortype 15
FpX_quad_root 4495
FpX_roots 45800
FpX_roots_i 1940
FpX_simplefact_Cantor 0
FpX_simplefact_Shoup 0
FpX_split_Berlekamp 30
FpX_split_part 100145
Mod0pX 10
ZX_factmod_init 599050
all_roots_mod_p 30
cmpGuGu 1670810
deg1_Flx 102690
factcantor 50
factcantor0 70
factcantor_i 70
factmod 60
factmod_aux 130
factmod_init 190
factormod0 75
good_root_of_unity 0
prime_fact 50
rootmod 50
rootmod0 60
rootmod2 10
rootmod_aux 45860
simplefactmod 20
split_Flx_cut_out_roots 3041705
split_add 3180055
split_add_done 225825
split_done 212390
split_init 3043645
split_moveto_done 3180045
split_nonsquares 10
split_squares 10
split_todo 195295
trivial_fact 580
zero_fact_intmod 10

Generated by: LCOV version 1.11