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 - base1.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 16746-c2cb716) Lines: 1545 1625 95.1 %
Date: 2014-08-31 Functions: 119 125 95.2 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 972 1204 80.7 %

Function Name Sort by function name Hit count Sort by hit count
F4 720
FpX_FpC_nfpoleval 45
Polred 95
QX_galoisapplymod 45
QX_table_nfpoleval 8605
ZC_galoisapply 2580
ZM_image_shallow 934
ZX_Q_normalize 6935
ZX_Z_normalize 7075
ZX_canon_neg 7962
ZX_is_better 3631
ZX_primitive_to_monic 7085
ZX_to_monic 0
check_ZKmodule 1535
checkabgrp 7905
checkbid 160886
checkbid_i 164336
checkbnf 523103
checkbnf_i 523868
checkbnr 156961
checkbnrgen 0
checknf 3563518
checknf_i 3622073
checknfelt_mod 35885
checkrnf 5140
checksqmat 0
chk_gen 7377
chk_gen_init 216
chk_gen_prec 975
cmp_abs_ZX 2311
complex_norm 859031
elt_galoisapply 35
embed_T2 1031
embed_norm 561534
embednorm_T2 0
factoredpolred 5
factoredpolred2 5
filter 555
findmindisc 215
gal_check_pol 80
galois_res 730
galoisapply 2950
get_Tr 1660
get_bas_den 5535
get_bnf 8900
get_bnfpol 110
get_nf 39630
get_nf_fp_compo 2439
get_nfindex 115
get_nfpol 5365
get_pol 17115
get_polchar 7377
get_red_G 1435
get_roots 3895
get_roots_for_M 4539
get_sign 1660
idealfrobenius 10
idealinertiagroup 15
idealquasifrob 60
idealramgroupindex 10
idealramgroups 70
idealramgroupstame 60
make_G 4539
make_M 4539
make_M_G 4539
make_Tr 925
nf_get_allroots 0
nf_get_prec 14194
nf_input_type 2415
nf_set_multable 1755
nfbasic_add_disc 1650
nfbasic_init 2415
nfbasic_to_nf 1660
nfcertify 5
nffp_init 3874
nfgaloismatrix 1135
nfinit 1085
nfinit0 470
nfinitall 1665
nfinitred 5
nfinitred2 5
nfisincl 30
nfisisom 20
nfiso0 50
nfnewprec 45
nfnewprec_shallow 665
nfpoleval 8155
nfpolred 55
nftyp 25615
polgalois 2150
polgaloisnames 730
polred 20
polred0 50
polred2 5
polred_aux 575
polred_init 765
polredabs 5
polredabs0 220
polredabs2 5
polredabs_aux 210
polredabsall 0
polredbest 415
polredbest_aux 485
polredord 20
pr_galoisapply 5
primes_certify 70
quicktrace 30635
real_norm 4790
remake_GM 665
remove_duplicates 210
rnfpolred_i 45
rnfpolredabs 20
rnfpolredbest 25
roots_to_ZX 962
set_LLL_basis 2360
set_mulid 840
smallpolred 5
smallpolred2 5
store 1735
table_galoisapply 2670
tests_OK 50
transroot 4120
try_polmin 13510
tschirnhaus 2250
vecgaloisapply 5

Generated by: LCOV version 1.9