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 17097-9391e68) Lines: 1336 1416 94.4 %
Date: 2014-11-21 Functions: 91 99 91.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 714 888 80.4 %

Function Name Sort by function name Hit count Sort by hit count
ABC_to_bnr 150
Buchray 3450
Discrayrel 100
KerChar 1475
Lbnrclassno 905
bigcgetvec 55
bnfcertify 10
bnfcertify0 25
bnr_log_gen_arch 4055
bnr_log_gen_pr 6020
bnrautmatrix 330
bnrclassno 55
bnrclassno0 50
bnrclassnointern 20
bnrclassnointernarch 200
bnrclassnolist 5
bnrconductor 2290
bnrconductor0 30
bnrconductorofchar 1475
bnrdisc 100
bnrdisc0 100
bnrdisclist0 30
bnrgaloisapply 400
bnrgaloismatrix 170
bnrinit0 390
bnrisconductor 2465
bnrisconductor0 20
bnrisgalois 320
bnrisprincipal 112546
bnrsurjection 640
bound_unit_index 25
buchnarrow 10
check_bnrgal 320
check_prime 180
check_subgroup 4870
chk_listBU 20
compute_M0 15
compute_fact 3070
compute_raygen 3075
conductor_elts 370
contains 9050
decodemodule 15
dft_bound 0
discrayabs 0
discrayabscond 0
discrayabslist 15
discrayabslistarch 15
discrayabslistlong 0
discrayrel 0
discrayrelcond 0
factordivexact 300
factormul 765
factorpow 600
factorsplice 725
fasmall_append 220
fast_val 4955
get_NR1D 300
get_classno 670
get_dataunit 3250
get_discdata 355
get_discray 355
get_nz 125
get_pi 2020
get_pinvpi 1000
hermiteconstant 25
ideallog_to_bnr 10075
idealmoddivisor 3010
idealmoddivisor_aux 4505
imageofgroup 55
init_bad 25
is_complex 440
is_unit 25350
is_zero 650
isprimitive 10
isprincipalray 109596
isprincipalraygen 0
lowerboundforregulator 25
make_integral_Z 840
minimforunits 20
minkowski_bound 0
nf_deg1_prime 10
primecertify 180
regulatorbound 10
rnfconductor 5
rnfisabelian 20
rnfnormgroup 175
rnfnormgroup_i 175
rowselect_p 575
subgroup_conductor_ok 1040
subgroupcond 25
subgrouplist0 35
subgrouplist_cond_sub 345
too_big 4970
vecselect_p 960
vext0 2420
vext1 2420
zimmertbound 25
zsimp 15
zsimpjoin 220

Generated by: LCOV version 1.9