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 - base3.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 16746-c2cb716) Lines: 1319 1383 95.4 %
Date: 2014-08-31 Functions: 120 123 97.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 743 866 85.8 %

Function Name Sort by function name Hit count Sort by hit count
Fq_FpXQ_log 225441
Ideallist 255
Idealstar 8580
RgC_to_nfC 21800
RgM_to_nfM 1675
RgV_is_prV 2385
RgX_to_nfX 615
ZC_nfval 1212716
ZC_nfvalrem 1390735
ZC_prdvd 1305
_mul 31628
_mulii 289132901
_sqr 195371
add_grp 8975
algtobasis 12745
apply_U 152538
archstar_full_rk 1200
basistoalg 17490
check_nfelt 116864
coltoalg 11160
concat_join 31385
detcyc 5005
ei_msqr_mod 38180
ei_multable 1800
elt_mulpow_modideal 253676
eval_sign 347150
famat_norm 5
famat_to_nf_modideal_coprime 98888
famat_zlog 90813
get_index 86648
get_tab 6582285
gpnfvalrem 105
ideallist 230
ideallist0 25
ideallistarch 10
ideallog 160816
ideallog_sgn 160816
idealprincipalunits 5
idealstar0 60
increment 2125
indices_to_vec01 2255
init_zlog 86648
init_zlog_bid 78908
is_nf_factor 8580
join_arch 40
join_archunit 20
join_bid 650
join_bid_arch 40
join_ideal 18660
join_idealinit 650
join_unit 635
log_gen_arch 4000
log_gen_pr 5850
log_prk 30
makeprimetoideal 2980
makeprimetoidealvec 740
matalgtobasis 345
matbasistoalg 565
mulbytab 1815
mulmat_pol 892994
multable 320
nfC_nf_mul 144728
nf_log 225441
nf_to_scalar_or_alg 71995
nf_to_scalar_or_basis 4840791
nfadd 16845
nfarchstar 9110
nfdiv 8090
nfdiveuc 190
nfdivrem 190
nfinv 38285
nfinvmodideal 100
nfmod 190
nfmul 113088
nfmuli 312527
nfmulmodideal 432819
nfnorm 7175
nfpow 155080
nfpow_u 3420
nfpowmodideal 294051
nfsign 35
nfsign_arch 421153
nfsqr 7490
nfsqri 456104
nfsqrmodideal 178183
nftrace 30
nfval 213605
nfvalrem 6885
polmod_nffix 1215
polmod_nffix2 1280
poltobasis 817708
pow_ei_mod_p 56505
powp 2720
pr_equal 20
principal_units 5
rnfalgtobasis 820
rnfbasistoalg 1045
rnfeltnorm 160
rnfelttrace 160
set_sign_mod_divisor 48780
sqr_mod 81490
tablemul 0
tablemul_ei 6500
tablemul_ei_ej 835
tablemulvec 320
tablesqr 2155
vec01_to_indices 552776
vecmodii 327592
zidealij 8250
zidealstar 0
zidealstarinit 3535
zidealstarinitgen 0
zk_ei_mul 5805379
zk_multable 2394124
zk_scalar_or_multable 3586311
zlog 78413
zlog_add_sign 219721
zlog_ind 118758
zlog_pk 225441
zlog_units 30
zlog_units_noarch 485
zlog_unitsarch 20
zprimestar 8485

Generated by: LCOV version 1.9