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 21351-66b5338) Lines: 1421 1499 94.8 %
Date: 2017-11-22 06:21:08 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 30411
ZC_galoisapply 30537
ZM_image_shallow 1490
ZX_Q_normalize 19614
ZX_Z_normalize 19866
ZX_canon_neg 25132
ZX_cmp 3165
ZX_is_better 18775
ZX_primitive_to_monic 19880
ZX_to_monic 0
check_ZKmodule 8351
checkabgrp 16401
checkbid 300285
checkbid_i 325919
checkbnf 1031296
checkbnf_i 1034551
checkbnr 366036
checkbnrgen 0
checknf 50556358
checknf_i 51285664
checknfelt_mod 180607
checkrnf 590499
checkrnf_i 594489
checksqmat 0
chk_gen 25062
chk_gen_init 526
chk_gen_prec 1813
cmpii_polred 11223
complex_norm 2909253
elt_galoisapply 49
embed_T2 2311
embed_norm 1338710
embednorm_T2 0
factoredpolred 0
factoredpolred2 0
filter 777
findmindisc 525
gal_check_pol 2380
galoisapply 44803
get_Tr 12642
get_aut 7644
get_bas_den 27727
get_bnf 18053
get_bnfpol 112
get_nf 113911
get_nfindex 917
get_nfpol 40715
get_pol 40024
get_polchar 25062
get_red_G 9177
get_roots 22294
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 23885
make_M 23885
make_M_G 23885
make_Tr 4648
nf_basden 765
nf_get_allroots 0
nf_get_prec 99839
nf_input_type 12418
nf_multable 12642
nfcertify 7
nffp_init 23114
nfgaloismatrix 27457
nfgaloispermtobasis 1330
nfinit 1799
nfinit0 2191
nfinit_basic 12418
nfinit_basic_partial 1204
nfinit_complete 12635
nfinitall 3990
nfinitred 0
nfinitred2 0
nfisincl 357
nfisisom 21
nfiso0 378
nfmaxord_complete 25277
nfmaxord_to_nf 12642
nfnewprec 63
nfnewprec_shallow 751
nfpoleval 11417
nfpolred 105
nftyp 42392
polred 14
polred0 70
polred2 0
polred_aux 805
polred_init 1295
polredabs 0
polredabs0 532
polredabs2 0
polredabs_aux 518
polredabsall 0
polredbest 616
polredbest_aux 728
polredord 21
pr_galoisapply 7
primes_certify 231
quicktrace 78883
real_norm 11592
remove_duplicates 518
rnfpolred_i 98
rnfpolredabs 63
rnfpolredbest 35
set_LLL_basis 13825
set_mulid 1540
smallpolred 0
smallpolred2 0
store 2653
tests_OK 378
try_polmin 20328
tschirnhaus 3171
typv6 108395
vecgaloisapply 7
zk_galoisapplymod 5495

Generated by: LCOV version 1.11