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 16624-25b9976) Lines: 1344 1418 94.8 %
Date: 2014-06-24 Functions: 93 99 93.9 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 724 896 80.8 %

Function Name Sort by function name Hit count Sort by hit count
ABC_to_bnr 185
Buchray 3393
Discrayrel 130
KerChar 1423
Lbnrclassno 1430
bigcgetvec 75
bnfcertify 10
bnfcertify0 25
bnr_log_gen_arch 3999
bnr_log_gen_pr 5851
bnrautmatrix 330
bnrclassno 60
bnrclassno0 50
bnrclassnointern 150
bnrclassnointernarch 330
bnrclassnolist 10
bnrconductor 2249
bnrconductor0 35
bnrconductorofchar 1423
bnrdisc 130
bnrdisc0 130
bnrdisclist0 30
bnrgaloisapply 400
bnrgaloismatrix 170
bnrinit0 390
bnrisconductor 2465
bnrisconductor0 20
bnrisgalois 320
bnrisprincipal 149246
bnrsurjection 583
bound_unit_index 25
buchnarrow 15
check_bnrgal 320
check_prime 45
check_subgroup 4859
chk_listBU 30
compute_M0 20
compute_fact 3018
compute_raygen 3023
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 4909
get_NR1D 430
get_classno 1300
get_dataunit 3203
get_discdata 670
get_discray 670
get_nz 220
get_pi 1962
get_pinvpi 971
hermiteconstant 25
ideallog_to_bnr 9850
idealmoddivisor 2915
idealmoddivisor_aux 4370
imageofgroup 54
init_bad 25
is_complex 408
is_unit 485
is_zero 538
isprimitive 5
isprincipalray 146285
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 180
rnfnormgroup_i 180
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