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 16791-0d1274a) Lines: 1344 1418 94.8 %
Date: 2014-09-16 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 3435
Discrayrel 130
KerChar 1480
Lbnrclassno 1430
bigcgetvec 75
bnfcertify 10
bnfcertify0 25
bnr_log_gen_arch 4090
bnr_log_gen_pr 6005
bnrautmatrix 330
bnrclassno 60
bnrclassno0 50
bnrclassnointern 150
bnrclassnointernarch 330
bnrclassnolist 10
bnrconductor 2265
bnrconductor0 35
bnrconductorofchar 1480
bnrdisc 130
bnrdisc0 130
bnrdisclist0 30
bnrgaloisapply 400
bnrgaloismatrix 170
bnrinit0 390
bnrisconductor 2465
bnrisconductor0 20
bnrisgalois 320
bnrisprincipal 112541
bnrsurjection 640
bound_unit_index 25
buchnarrow 15
check_bnrgal 320
check_prime 45
check_subgroup 4875
chk_listBU 30
compute_M0 20
compute_fact 3055
compute_raygen 3060
conductor_elts 370
contains 9040
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 4930
get_NR1D 430
get_classno 1300
get_dataunit 3240
get_discdata 670
get_discray 670
get_nz 220
get_pi 2000
get_pinvpi 990
hermiteconstant 25
ideallog_to_bnr 10095
idealmoddivisor 2915
idealmoddivisor_aux 4395
imageofgroup 55
init_bad 25
is_complex 440
is_unit 485
is_zero 650
isprimitive 5
isprincipalray 109596
isprincipalraygen 5
lowerboundforregulator 25
make_integral_Z 830
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 4860
vecselect_p 960
vext0 3625
vext1 3625
zimmertbound 25
zsimp 20
zsimpjoin 335

Generated by: LCOV version 1.9