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 - FpXQX_factor.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 21921-ca7d0c8) Lines: 1418 1675 84.7 %
Date: 2018-02-20 06:16:13 Functions: 105 120 87.5 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Flx_rootsff 0
FlxqX_Berlekamp_i 0
FlxqX_Berlekamp_ker_i 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_split_Berlekamp 0
FpX_factorff 0
FpX_nbfactff 0
FpX_rootsff 0
FqX_nbfact 0
FpXQX_edf 8
FpXQX_roots_ddf 21
FpXQX_factor_Shoup 22
FpXQX_edf_rec 23
to_FqC 28
FpM_Frobenius_pow 35
FpXQX_factor_2 43
FpXQX_nbfact_Frobenius 50
F2xqX_ispower 56
FpX_rootsff_i 63
FpXQX_ddf 72
FpX_factorff_i 77
FlxqX_ispower 98
FpXQX_ispower 98
FpX_factorgalois 98
FpX_ffintersect 98
FpXQX_factor_Yun 99
FlxqX_edf 118
FpXQX_Frobenius 130
FlxqX_nbfact_Frobenius 132
F2xqX_factor 133
FpXQXQ_halfFrobenius 145
FlxqX_factor 166
F2xqX_edf_simple 168
FpXQ_ffisom_inv 168
FpXQXQ_Frobenius 173
FpX_FpM_FpC_eval 182
FpX_intersect_ker 182
FpXQX_factor_Cantor 191
FqX_ispower 210
FlxqX_edf_rec 229
FlxqX_factor_Shoup 230
F2xqX_factor_2 252
F2xqX_ddf 280
F2xqX_factor_Shoup 280
Flx_nbfactff 280
FlxqX_nbfact 280
simpleff_to_nbfact 280
FlxqXQ_halfFrobenius 285
F2x_factorff_i 322
FlxqX_edf_simple 357
FlxqX_ddf 362
FlxqX_factor_2 384
Flm_Frobenius_pow 385
to_Fq_fact 392
ffcheck 420
FE_concat 462
FlxqX_is_squarefree 483
FpX_factorff_irred 525
FlxqX_invFrobenius 553
factorff 588
FlxqX_Frobenius_deflate 616
FpXQX_quad_roots 677
FpXQX_nbroots 812
FpXQX_split_part 840
F2xqX_factor_Cantor 868
FlxqX_nbroots 868
FpXQX_roots_split 926
FpXQXQ_halfFrobenius_i 1120
FpX_ffisom 1190
Flx_factorff_i 1225
Flx_ffisom 1225
Flxq_ffisom_inv 1225
FlxqX_factor_Cantor 1545
FlxqX_split_part 1700
FpXQX_roots_edf 1827
FpXQX_factor 1913
FpXQX_easyroots 2052
FlxqX_Frobenius 2096
isabsolutepol 2201
FpXQX_factor_i 2305
Flx_intersect_ker 2926
Flx_Flm_Flc_eval 3325
Flx_factorgalois 3983
to_Fq_pol 4522
Flx_ffintersect 5208
FlxqX_roots_split 8385
to_Fq 9114
F2xqX_Frobenius_deflate 9247
FlxqXQ_halfFrobenius_i 10854
F2xqX_quad_roots 11179
FlxqX_quad_roots 13413
F2x_rootsff_i 15141
F2xX_to_F2x 15463
FpXQX_roots 17146
FpXQX_roots_i 17174
Flx_rootsff_i 23968
Flx_factorff_irred 30191
FlxqX_roots 46316
F2xqX_roots_edf 50134
FlxqX_roots_edf 50717
FlxqX_factor_squarefree 58953
FlxqXQ_Frobenius 60587
FlxqX_roots_i 61060
FlxqX_roots_ddf 63007
F2xqXQ_Frobenius 70672
F2xqX_factor_squarefree 71400
F2xqX_roots 71540
F2xqX_roots_i 73766
F2xqX_roots_ddf 81004
FqX_nbroots 82985
polrootsff 103390
FlxqX_easyroots 174777
F2xqX_easyroots 204897
FqX_is_squarefree 242998

Generated by: LCOV version 1.11