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-bordeaux.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.10.0 lcov report (development 20459-9710128) Lines: 1401 1501 93.3 %
Date: 2017-03-30 05:32:39 Functions: 109 125 87.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpX_FpC_nfpoleval 1998
Polred 72
QX_table_nfpoleval 15384
ZC_galoisapply 15438
ZM_image_shallow 1224
ZX_Q_normalize 10968
ZX_Z_normalize 11184
ZX_canon_neg 9180
ZX_is_better 3942
ZX_primitive_to_monic 11196
ZX_to_monic 0
check_ZKmodule 2694
checkabgrp 9876
checkbid 179568
checkbid_i 184116
checkbnf 602466
checkbnf_i 605238
checkbnr 177888
checkbnrgen 0
checknf 12521401
checknf_i 13208173
checknfelt_mod 180468
checkrnf 178800
checkrnf_i 181464
checksqmat 0
chk_gen 9078
chk_gen_init 300
chk_gen_prec 1254
cmp_abs_ZX 2700
complex_norm 2407698
elt_galoisapply 42
embed_T2 1356
embed_norm 1081596
embednorm_T2 0
factoredpolred 0
factoredpolred2 0
filter 666
findmindisc 300
gal_check_pol 168
galoisapply 15894
get_Tr 4812
get_aut 606
get_bas_den 11430
get_bnf 11292
get_bnfpol 96
get_nf 97320
get_nfindex 468
get_nfpol 15138
get_pol 21222
get_polchar 9078
get_red_G 3138
get_roots 8430
idealfrobenius 54
idealfrobenius_aut 48
idealinertiagroup 42
idealquasifrob 120
idealramfrobenius 0
idealramfrobenius_aut 18
idealramgroups 96
idealramgroups_aut 114
idealramgroupstame 96
idealramgroupswild 18
make_G 9528
make_M 9528
make_M_G 9528
make_Tr 2550
nf_basden 612
nf_get_allroots 0
nf_get_prec 61632
nf_input_type 4692
nf_multable 4812
nfcertify 6
nffp_init 8910
nfgaloismatrix 2988
nfgaloispermtobasis 18
nfinit 1164
nfinit0 1500
nfinit_basic 4692
nfinit_basic_partial 882
nfinit_complete 4806
nfinitall 2664
nfinitred 0
nfinitred2 0
nfisincl 30
nfisisom 18
nfiso0 48
nfmaxord_complete 9618
nfmaxord_to_nf 4812
nfnewprec 54
nfnewprec_shallow 600
nfpoleval 9786
nfpolred 78
nftyp 35970
polred 12
polred0 60
polred2 0
polred_aux 690
polred_init 960
polredabs 0
polredabs0 306
polredabs2 0
polredabs_aux 294
polredabsall 0
polredbest 528
polredbest_aux 624
polredord 18
pr_galoisapply 6
primes_certify 78
quicktrace 45348
real_norm 5718
remove_duplicates 294
rnfpolred_i 54
rnfpolredabs 24
rnfpolredbest 30
set_LLL_basis 5688
set_mulid 1116
smallpolred 0
smallpolred2 0
store 2124
tests_OK 48
try_polmin 17424
tschirnhaus 2712
typv6 88638
vecgaloisapply 6
zk_galoisapplymod 1812

Generated by: LCOV version 1.11