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 23339-b1c33c51a) Lines: 1533 1614 95.0 %
Date: 2018-12-11 05:41:34 Functions: 118 134 88.1 %
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
rnfpolredbest 35
elt_galoisapply 49
idealfrobenius_aut 56
idealfrobenius 63
nfnewprec 63
nfisisom 70
polred0 70
Polred 84
partmap_reverse 98
get_bnfpol 112
idealramgroups 112
rnfpolredabs 154
rnfpolred_i 189
nfisincl 203
tests_OK 252
nfpolred 287
primes_certify 308
incl_disc 462
idealramgroupswild 490
idealramfrobenius_aut 616
polredabs0 630
remove_duplicates 630
v9checkgal 637
polredbest 686
polredbest_i 721
findmindisc 770
chk_gen_init 771
polredabs_i 777
polredbest_aux 910
filter 959
polred_aux 987
get_nfindex 1218
v11checkbnf 1288
nfgaloispermtobasis 1372
idealquasifrob 1435
nfinit_basic_partial 1526
nfnewprec_shallow 1585
nf_basden 1599
polred_init 1722
ZM_image_shallow 1819
idealinertiagroup 1834
idealramgroupstame 1897
set_mulid 2037
nfinit 2198
idealramgroups_aut 2387
gal_check_pol 2450
chk_gen_prec 2485
nfinit0 2646
embed_T2 2920
tschirnhaus 3178
nfinitall 4844
ZX_cmp 4914
zk_galoisapplymod 5509
make_Tr 6118
get_aut 7868
rawcheckbnf 7882
FpX_FpC_nfpoleval 8071
rawchecknf 8148
check_ZKmodule 8603
nfpoleval 11417
real_norm 11991
get_red_G 12383
nf_input_type 16366
nfinit_basic 16366
checkabgrp 16933
nfinit_complete 17066
get_Tr 17073
nf_multable 17073
nfmaxord_to_nf 17073
set_LLL_basis 18501
get_bnf 18893
ZX_is_better 20860
ZX_Q_normalize 24206
cmpii_polred 24473
ZX_primitive_to_monic 24493
ZX_Z_normalize 24535
ZX_canon_neg 27371
try_polmin 28063
chk_gen 29031
get_polchar 29031
get_roots 30719
nffp_init 31178
make_G 32783
make_M 32783
make_M_G 32783
nfmaxord_complete 34139
QX_table_nfpoleval 35060
ZC_galoisapply 35249
get_bas_den 37254
v10checknf 38577
nftyp 43393
get_pol 48469
nfgaloismatrix 48734
get_nfpol 53236
galoisapply 67470
quicktrace 89075
typv6 109634
get_nf 114506
checknfelt_mod 197639
nf_get_prec 254105
checkrnf 254555
v13checkrnf 255129
checkrnf_i 259399
checkbid 360716
checkbid_i 403696
checkbnr 460550
checkbnf 1198841
checkbnf_i 1202264
ZX_Q_mul 2911863
embed_norm 2974714
complex_norm 3045093
checknf 52308458
checknf_i 53257170

Generated by: LCOV version 1.13