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 16937-4bd9b4e) Lines: 1337 1418 94.3 %
Date: 2014-10-24 Functions: 91 99 91.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 718 896 80.1 %

Function Name Sort by function name Hit count Sort by hit count
ABC_to_bnr 210
Buchray 4774
Discrayrel 140
KerChar 2065
Lbnrclassno 1267
bigcgetvec 77
bnfcertify 7
bnfcertify0 28
bnr_log_gen_arch 5677
bnr_log_gen_pr 8344
bnrautmatrix 462
bnrclassno 77
bnrclassno0 70
bnrclassnointern 28
bnrclassnointernarch 280
bnrclassnolist 7
bnrconductor 3157
bnrconductor0 42
bnrconductorofchar 2065
bnrdisc 140
bnrdisc0 140
bnrdisclist0 42
bnrgaloisapply 560
bnrgaloismatrix 238
bnrinit0 546
bnrisconductor 3451
bnrisconductor0 28
bnrisgalois 448
bnrisprincipal 154237
bnrsurjection 896
bound_unit_index 28
buchnarrow 14
check_bnrgal 448
check_prime 56
check_subgroup 6769
chk_listBU 28
compute_M0 21
compute_fact 4242
compute_raygen 4249
conductor_elts 518
contains 12586
decodemodule 21
dft_bound 0
discrayabs 0
discrayabscond 0
discrayabslist 21
discrayabslistarch 21
discrayabslistlong 0
discrayrel 0
discrayrelcond 0
factordivexact 420
factormul 1071
factorpow 840
factorsplice 1015
fasmall_append 308
fast_val 6902
get_NR1D 420
get_classno 938
get_dataunit 4494
get_discdata 497
get_discray 497
get_nz 175
get_pi 2800
get_pinvpi 1386
hermiteconstant 28
ideallog_to_bnr 14021
idealmoddivisor 4081
idealmoddivisor_aux 6153
imageofgroup 70
init_bad 28
is_complex 616
is_unit 497
is_zero 910
isprimitive 7
isprincipalray 150121
isprincipalraygen 0
lowerboundforregulator 28
make_integral_Z 1162
minimforunits 21
minkowski_bound 0
nf_deg1_prime 14
primecertify 56
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 3388
vext1 3388
zimmertbound 28
zsimp 21
zsimpjoin 308

Generated by: LCOV version 1.9