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 16741-1378b1c) Lines: 1344 1418 94.8 %
Date: 2014-08-17 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 185
Buchray 3390
Discrayrel 130
KerChar 1425
Lbnrclassno 1430
bigcgetvec 75
bnfcertify 10
bnfcertify0 25
bnr_log_gen_arch 4000
bnr_log_gen_pr 5850
bnrautmatrix 330
bnrclassno 60
bnrclassno0 50
bnrclassnointern 150
bnrclassnointernarch 330
bnrclassnolist 10
bnrconductor 2245
bnrconductor0 35
bnrconductorofchar 1425
bnrdisc 130
bnrdisc0 130
bnrdisclist0 30
bnrgaloisapply 400
bnrgaloismatrix 170
bnrinit0 385
bnrisconductor 2465
bnrisconductor0 20
bnrisgalois 320
bnrisprincipal 149236
bnrsurjection 585
bound_unit_index 25
buchnarrow 15
check_bnrgal 320
check_prime 45
check_subgroup 4855
chk_listBU 30
compute_M0 20
compute_fact 3015
compute_raygen 3020
conductor_elts 370
contains 8795
decodemodule 15
dft_bound 0
discrayabs 0
discrayabscond 0
discrayabslist 20
discrayabslistarch 20
discrayabslistlong 5
discrayrel 0
discrayrelcond 0
factordivexact 430
factormul 1095
factorpow 860
factorsplice 1155
fasmall_append 335
fast_val 4890
get_NR1D 430
get_classno 1300
get_dataunit 3200
get_discdata 670
get_discray 670
get_nz 220
get_pi 1950
get_pinvpi 965
hermiteconstant 25
ideallog_to_bnr 9850
idealmoddivisor 2915
idealmoddivisor_aux 4365
imageofgroup 55
init_bad 25
is_complex 440
is_unit 485
is_zero 650
isprimitive 5
isprincipalray 146291
isprincipalraygen 5
lowerboundforregulator 25
make_integral_Z 805
minimforunits 20
minkowski_bound 0
nf_deg1_prime 10
primecertify 45
regulatorbound 5
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 4815
vecselect_p 960
vext0 3625
vext1 3625
zimmertbound 25
zsimp 20
zsimpjoin 335

Generated by: LCOV version 1.9