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-bordeaux1.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 - polarit3.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 17097-9391e68) Lines: 1453 1684 86.3 %
Date: 2014-11-21 Functions: 130 147 88.4 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 817 1183 69.1 %

Function Name Sort by function name Hit count Sort by hit count
Fl_chinese_coprime 21375055
Flm_Frobenius 1390
Flm_Frobenius_pow 0
Flv_polint_all 368
FlxX_pseudorem 1040
FlxX_resultant 410
FlxY_evalx_drop 7388
FlxY_to_FlyX 2538
Flx_FlxY_eval_resultant 714701
Flx_FlxY_resultant 2538
Flx_FlyX_resultant_polint 17822
Flx_factorff_irred 630
Flx_factorgalois 630
Flx_ffintersect 650
Flx_ffisom 20
Flx_intersect_ker 1390
Flx_resultant_all 6293
Flx_resultant_set_dglist 1095
FlxqV_Flx_Frobenius 1390
Flxq_ffisom_inv 20
FpM_Frobenius 20
FpM_Frobenius_pow 0
FpV_polint 2
FpXQV_FpX_Frobenius 20
FpXQ_ffisom_inv 905
FpXV_FpC_mul 303890
FpXY_Fq_evaly 9170
FpX_FpXY_eval_resultant 8
FpX_FpXY_resultant 2397
FpX_compositum 0
FpX_direct_compositum 285
FpX_factorff_irred 1440
FpX_factorgalois 15
FpX_ffintersect 830
FpX_ffisom 815
FpX_intersect_ker 1020
FpX_translate 0
FqC_Fq_mul 0
FqC_add 0
FqC_sub 0
FqC_to_FlxC 515
FqM_to_FlxM 80
FqV_red 3430
FqV_roots_to_pol 280
FqV_to_FlxV 234
FqXQ_matrix_pow 0
FqXQ_powers 0
FqXY_eval 6560
FqXY_evalx 19305
FqX_Fq_add 4742
FqX_Fq_mul_to_monic 11435
FqX_eval 73665
FqX_normalize 30480
FqX_translate 26700
Fq_Fp_mul 16250
Fq_add 3050983
Fq_div 228419
Fq_halve 5910
Fq_inv 25177
Fq_invsafe 0
Fq_mul 35733458
Fq_mulu 337781
Fq_neg 158180
Fq_neg_inv 0
Fq_pow 4010
Fq_powu 9540
Fq_sqr 40444
Fq_sqrt 4265
Fq_sqrtn 510
Fq_sub 8228551
QXQ_intnorm 0
QXQ_inv 76033
QXQ_norm 0
QX_disc 0
QX_resultant 7122
RgC_to_Flc 8964
RgC_to_FpC 1556
RgM_is_FpM 507135
RgM_to_Flm 1242
RgM_to_FpM 203
RgV_is_FpV 1528996
RgV_to_FpV 765
RgX_is_FpX 400111
RgX_is_FpXQX 19270
RgX_to_FpX 92670
RgX_to_FpXQX 15
RgX_to_FqX 345
Rg_is_Fp 12821676
Rg_is_FpXQ 37985
Rg_to_Fp 8748504
Rg_to_FpXQ 17156
ZM_incremental_CRT 115754
ZM_init_CRT 65562
ZXQ_charpoly 7105
ZXQ_charpoly_sqf 1640
ZX_ZXY_ResBound 266119
ZX_ZXY_resultant_all 2470
ZX_ZXY_rnfequation 1775
ZX_disc 14882
ZX_disc_all 16197
ZX_incremental_CRT 2245729
ZX_incremental_CRT_raw 2450653
ZX_init_CRT 2224235
ZX_norml1 3890
ZX_resultant 25060
ZX_resultant_all 269466
ZX_resultant_prime 686795
ZX_resultant_slice 514254
Z_incremental_CRT 156123
Z_init_CRT 11895
_Fq_add 421704
_Fq_equal0 17157
_Fq_inv 818
_Fq_mul 436468
_Fq_neg 868
_Fq_red 32022
_Fq_s 832
char_update_int 415
char_update_prime 465
charact 384870
charact_res 21575
characteristic 1665
f2init 35
ffinit 40
ffinit_Artin_Shreier 0
ffinit_fact 1600
ffinit_nofact 65
ffinit_rand 0
ffnbirred 860
ffnbirred0 100
ffsumnbirred 130
fp_resultant 21
fpinit 1915
fpinit_check 7250
get_Fq_field 91
get_nbprimes 266109
init_Fq 1995
init_Fq_i 2035
init_modular 2958758
monomial 1582395
monomialcopy 5295739
pol_comp 4
pol_x_powers 13750
polint_triv 0
residual_characteristic 1655
swap_vars 2442
trivial_case 540528

Generated by: LCOV version 1.9