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 - buch3.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 16827-3d78da8) Lines: 1344 1418 94.8 %
Date: 2014-09-29 Functions: 93 99 93.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 723 896 80.7 %

Function Name Sort by function name Hit count Sort by hit count
ABC_to_bnr 259
Buchray 4809
Discrayrel 182
KerChar 2072
Lbnrclassno 2002
bigcgetvec 105
bnfcertify 14
bnfcertify0 35
bnr_log_gen_arch 5726
bnr_log_gen_pr 8407
bnrautmatrix 462
bnrclassno 84
bnrclassno0 70
bnrclassnointern 210
bnrclassnointernarch 462
bnrclassnolist 14
bnrconductor 3171
bnrconductor0 49
bnrconductorofchar 2072
bnrdisc 182
bnrdisc0 182
bnrdisclist0 42
bnrgaloisapply 560
bnrgaloismatrix 238
bnrinit0 546
bnrisconductor 3451
bnrisconductor0 28
bnrisgalois 448
bnrisprincipal 157435
bnrsurjection 896
bound_unit_index 35
buchnarrow 21
check_bnrgal 448
check_prime 63
check_subgroup 6825
chk_listBU 42
compute_M0 28
compute_fact 4277
compute_raygen 4284
conductor_elts 518
contains 12656
decodemodule 21
dft_bound 0
discrayabs 0
discrayabscond 0
discrayabslist 28
discrayabslistarch 28
discrayabslistlong 7
discrayrel 0
discrayrelcond 0
factordivexact 602
factormul 1533
factorpow 1204
factorsplice 1617
fasmall_append 469
fast_val 6902
get_NR1D 602
get_classno 1820
get_dataunit 4536
get_discdata 938
get_discray 938
get_nz 308
get_pi 2800
get_pinvpi 1386
hermiteconstant 35
ideallog_to_bnr 14133
idealmoddivisor 4081
idealmoddivisor_aux 6153
imageofgroup 77
init_bad 35
is_complex 616
is_unit 679
is_zero 910
isprimitive 7
isprincipalray 153312
isprincipalraygen 7
lowerboundforregulator 35
make_integral_Z 1162
minimforunits 28
minkowski_bound 0
nf_deg1_prime 14
primecertify 63
regulatorbound 7
rnfconductor 7
rnfisabelian 28
rnfnormgroup 245
rnfnormgroup_i 245
rowselect_p 805
subgroup_conductor_ok 1456
subgroupcond 35
subgrouplist0 49
subgrouplist_cond_sub 483
too_big 6804
vecselect_p 1344
vext0 5075
vext1 5075
zimmertbound 35
zsimp 28
zsimpjoin 469

Generated by: LCOV version 1.9