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 - FpXQX_factor.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.12.0 lcov report (development 23008-54b2e2f01) Lines: 1577 1889 83.5 %
Date: 2018-09-20 05:37:46 Functions: 125 147 85.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2xqX_ddf 0
Flx_rootsff 0
FlxqX_Berlekamp_i 0
FlxqX_Berlekamp_ker_i 0
FlxqX_ddf 0
FlxqX_nbfact_Frobenius 0
FlxqX_split_Berlekamp 0
FpXQX_Berlekamp_i 0
FpXQX_Berlekamp_ker_i 0
FpXQX_edf_simple 0
FpXQX_factor_Berlekamp 0
FpXQX_factor_Berlekamp_i 0
FpXQX_nbfact 0
FpXQX_nbfact_Frobenius 0
FpXQX_split_Berlekamp 0
FpX_factorff 0
FpX_nbfactff 0
FpX_rootsff 0
FqX_nbfact 0
factorff 0
polrootsff 0
rootmod0 0
FpXQX_ddf 7
FpXQX_ddf_raw 7
FpXQX_factor_squarefree 7
FpXQX_edf 8
FqXC_to_mod 14
sqf_to_fact 14
FpXQX_factor_Shoup 22
FpXQX_edf_rec 23
factormodDDF 28
FpXQX_roots_ddf 30
FpM_Frobenius_pow 35
factormodSQF 35
F2xqX_ddf_init 42
F2xqX_degfact 42
FlxqX_ddf_i 42
FlxqX_degfact 42
FlxqX_factor_squarefree 42
FpXQX_degfact 42
FpXQX_degfact_raw 42
FpXQX_factor_2 43
FpXQX_ddf_i 49
FpXQX_ddf_degree 50
F2xqX_ispower 56
FpX_factorff_i 56
FpXQX_ddf_Shoup 71
F2xqX_ddf_i 91
FlxqX_ispower 98
FpXQX_ispower 98
FlxqX_edf 118
FlxqX_ddf_degree 132
F2xqX_factor 133
FpXQXQ_halfFrobenius 145
FpXQX_factor_Yun 157
F2xqX_edf_simple 168
FpXQ_ffisom_inv 168
FpXQX_factor_Cantor 170
FpXQX_Frobenius 179
FpX_FpM_FpC_eval 182
FpX_intersect_ker 182
FlxqX_factor 187
to_Fq_fact 189
FqX_ispower 210
to_FqC 224
FlxqX_edf_rec 229
FlxqX_factor_Shoup 230
FpXQXQ_Frobenius 231
simplefactmod 231
F2x_factorff_i 252
to_Fq_pol 252
FlxqX_ddf_Shoup 272
F2xqX_factor_Shoup 287
FlxqXQ_halfFrobenius 292
FpX_rootsff_i 294
FpX_factorgalois 308
FpX_ffintersect 308
F2xqX_ddf_Shoup 329
FpXC_to_mod 329
F2xqX_factor_2 343
RgX_to_FFX 350
FlxqX_edf_simple 357
Flm_Frobenius_pow 399
FE_concat 469
FlxqX_factor_2 496
FlxqX_invFrobenius 553
FlxqX_Frobenius_deflate 616
FpXQX_quad_roots 677
factormod0 693
FpX_factorff_irred 735
factmod 742
FpXQX_nbroots 854
FpXQX_split_part 889
F2xqX_factor_Cantor 896
FpXQX_roots_split 926
FpXQXQ_halfFrobenius_i 1120
Flx_factorff_i 1141
FpX_ffisom 1225
Flx_ffisom 1267
Flxq_ffisom_inv 1267
FlxqX_factor_Cantor 1643
Flx_nbfactff 1701
FlxqX_nbfact 1701
simpleff_to_nbfact 1701
FlxqX_nbroots 1750
FpXQX_roots_edf 1836
FpXQX_easyroots 2310
isabsolutepol 2388
FpXQX_factor 2389
FpXQX_factor_i 2389
FlxqX_split_part 2631
FlxqX_is_squarefree 2975
FlxqX_Frobenius 3062
Flx_intersect_ker 3584
Flx_Flm_Flc_eval 4039
to_Fq 4851
Flx_factorgalois 7217
FlxqX_roots_split 8405
Flx_ffintersect 8484
F2xqX_Frobenius_deflate 9268
FlxqXQ_halfFrobenius_i 10817
F2xqX_quad_roots 11270
FlxqX_quad_roots 13533
F2x_rootsff_i 16625
F2xX_to_F2x 16877
FpXQX_roots 20863
FpXQX_roots_i 20863
Flx_rootsff_i 27405
Flx_factorff_irred 33355
FlxqX_roots 46309
F2xqX_roots_edf 50232
FlxqX_roots_edf 50804
FlxqX_factor_squarefree_i 59042
FlxqXQ_Frobenius 61600
FlxqX_roots_i 63046
FlxqX_roots_ddf 63054
F2xqXQ_Frobenius 70819
F2xqX_factor_squarefree 71547
F2xqX_roots 71638
F2xqX_roots_i 75320
F2xqX_roots_ddf 81102
FqX_nbroots 83090
polrootsmod 103677
factmod_init 104713
FlxqX_easyroots 176897
F2xqX_easyroots 206647
FqX_is_squarefree 252742

Generated by: LCOV version 1.13