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 20838-243a3c2) Lines: 1419 1497 94.8 %
Date: 2017-07-28 06:22:09 Functions: 110 126 87.3 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpX_FpC_nfpoleval 7945
Polred 84
QX_table_nfpoleval 30642
ZC_galoisapply 30768
ZM_image_shallow 1490
ZX_Q_normalize 19649
ZX_Z_normalize 19901
ZX_canon_neg 4697
ZX_cmp 3320
ZX_is_better 4825
ZX_primitive_to_monic 19915
ZX_to_monic 0
check_ZKmodule 8337
checkabgrp 13286
checkbid 301986
checkbid_i 327557
checkbnf 1043427
checkbnf_i 1046682
checkbnr 371265
checkbnrgen 0
checknf 50568955
checknf_i 51297414
checknfelt_mod 181832
checkrnf 210476
checkrnf_i 214340
checksqmat 0
chk_gen 10817
chk_gen_init 463
chk_gen_prec 1687
cmpii_polred 11645
complex_norm 2956843
elt_galoisapply 49
embed_T2 1933
embed_norm 1351347
embednorm_T2 0
factoredpolred 0
factoredpolred2 0
filter 777
findmindisc 462
gal_check_pol 2380
galoisapply 45034
get_Tr 12705
get_aut 7644
get_bas_den 27727
get_bnf 14938
get_bnfpol 112
get_nf 113568
get_nfindex 868
get_nfpol 37285
get_pol 25401
get_polchar 10817
get_red_G 9303
get_roots 22440
idealfrobenius 63
idealfrobenius_aut 56
idealinertiagroup 1792
idealquasifrob 1393
idealramfrobenius 0
idealramfrobenius_aut 595
idealramgroups 112
idealramgroups_aut 2317
idealramgroupstame 1855
idealramgroupswild 462
make_G 24010
make_M 24010
make_M_G 24010
make_Tr 4522
nf_basden 764
nf_get_allroots 0
nf_get_prec 98371
nf_input_type 12530
nf_multable 12705
nfcertify 7
nffp_init 23240
nfgaloismatrix 27688
nfgaloispermtobasis 1330
nfinit 1764
nfinit0 2100
nfinit_basic 12530
nfinit_basic_partial 1141
nfinit_complete 12698
nfinitall 3864
nfinitred 0
nfinitred2 0
nfisincl 357
nfisisom 21
nfiso0 378
nfmaxord_complete 25403
nfmaxord_to_nf 12705
nfnewprec 63
nfnewprec_shallow 750
nfpoleval 11417
nfpolred 105
nftyp 42154
polred 14
polred0 70
polred2 0
polred_aux 805
polred_init 1232
polredabs 0
polredabs0 469
polredabs2 0
polredabs_aux 455
polredabsall 0
polredbest 616
polredbest_aux 728
polredord 21
pr_galoisapply 7
primes_certify 161
quicktrace 76769
real_norm 7210
remove_duplicates 455
rnfpolred_i 105
rnfpolredabs 70
rnfpolredbest 35
set_LLL_basis 13825
set_mulid 1477
smallpolred 0
smallpolred2 0
store 2590
tests_OK 378
try_polmin 20328
tschirnhaus 3171
typv6 105238
vecgaloisapply 7
zk_galoisapplymod 5495

Generated by: LCOV version 1.11