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 to exceed 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.12.0 lcov report (development 23017-8c5e72c46) Lines: 1524 1605 95.0 %
Date: 2018-09-23 05:39:13 Functions: 113 129 87.6 %
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
polredord 21
nf_rnfeq_partial 35
rnfpolredbest 35
elt_galoisapply 49
idealfrobenius_aut 56
idealfrobenius 63
nfnewprec 63
nfisisom 70
polred0 70
Polred 84
rnfpolredabs 91
nfisincl 98
partmap_reverse 98
nfpolred 105
get_bnfpol 112
idealramgroups 112
rnfpolred_i 126
tests_OK 147
incl_disc 252
primes_certify 308
idealramgroupswild 490
polredabs0 553
remove_duplicates 553
polredbest 609
idealramfrobenius_aut 616
findmindisc 630
chk_gen_init 631
polredabs_i 637
polredbest_i 644
polredbest_aux 728
filter 777
polred_aux 805
get_nfindex 1204
nfinit_basic_partial 1309
nfgaloispermtobasis 1372
polred_init 1400
idealquasifrob 1435
nfnewprec_shallow 1585
nf_basden 1599
ZM_image_shallow 1651
set_mulid 1750
idealinertiagroup 1834
idealramgroupstame 1897
chk_gen_prec 2023
nfinit 2100
idealramgroups_aut 2387
gal_check_pol 2450
nfinit0 2450
embed_T2 2605
tschirnhaus 3178
ZX_cmp 3634
nfinitall 4550
make_Tr 5306
zk_galoisapplymod 5509
get_aut 7868
FpX_FpC_nfpoleval 8071
check_ZKmodule 8575
get_red_G 9821
nfpoleval 11417
real_norm 11991
nf_input_type 13083
nfinit_basic 13083
nfinit_complete 13832
get_Tr 13839
nf_multable 13839
nfmaxord_to_nf 13839
set_LLL_basis 15127
checkabgrp 16933
cmpii_polred 17866
get_bnf 18879
ZX_is_better 19321
try_polmin 20328
ZX_Q_normalize 20790
ZX_Z_normalize 21042
ZX_primitive_to_monic 21077
get_roots 24878
nffp_init 25060
ZX_canon_neg 25559
make_G 26665
make_M 26665
make_M_G 26665
nfgaloismatrix 27559
nfmaxord_complete 27671
chk_gen 28527
get_polchar 28527
get_bas_den 30331
QX_table_nfpoleval 30622
ZC_galoisapply 30748
get_nfpol 42659
nftyp 43393
get_pol 43986
galoisapply 44909
quicktrace 83433
typv6 109634
get_nf 114506
checknfelt_mod 197463
nf_get_prec 233448
checkbid 301377
checkbid_i 327081
checkbnr 370796
checkrnf 714343
checkrnf_i 718893
checkbnf 1041929
checkbnf_i 1045100
ZX_Q_mul 2348007
embed_norm 2951845
complex_norm 3026620
checknf 51627826
checknf_i 52556513

Generated by: LCOV version 1.13