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

Generated by: LCOV version 1.11