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-bordeaux1.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.8.0 lcov report (development 17240-4611fa9) Lines: 1525 1624 93.9 %
Date: 2014-12-21 Functions: 110 125 88.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 964 1205 80.0 %

Function Name Sort by function name Hit count Sort by hit count
F4 1008
FpX_FpC_nfpoleval 70
Polred 84
QX_galoisapplymod 70
QX_table_nfpoleval 13594
ZC_galoisapply 4312
ZM_image_shallow 1420
ZX_Q_normalize 10451
ZX_Z_normalize 10689
ZX_canon_neg 10502
ZX_is_better 4425
ZX_primitive_to_monic 10696
ZX_to_monic 0
check_ZKmodule 2821
checkabgrp 11284
checkbid 175642
checkbid_i 180689
checkbnf 584561
checkbnf_i 585611
checkbnr 170189
checkbnrgen 0
checknf 4991373
checknf_i 5092583
checknfelt_mod 61432
checkrnf 98336
checksqmat 0
chk_gen 10551
chk_gen_init 330
chk_gen_prec 1379
cmp_abs_ZX 3004
complex_norm 2440236
elt_galoisapply 49
embed_T2 1513
embed_norm 1092432
embednorm_T2 0
factoredpolred 0
factoredpolred2 0
filter 735
findmindisc 329
gal_check_pol 119
galois_res 1029
galoisapply 4837
get_Tr 3122
get_bas_den 9186
get_bnf 12775
get_bnfpol 147
get_nf 56574
get_nf_fp_compo 4199
get_nfindex 154
get_nfpol 11358
get_pol 23532
get_polchar 10551
get_red_G 2555
get_roots 6544
get_roots_for_M 7533
get_sign 3122
idealfrobenius 21
idealinertiagroup 21
idealquasifrob 91
idealramgroupindex 14
idealramgroups 98
idealramgroupstame 84
make_G 7533
make_M 7533
make_M_G 7533
make_Tr 1554
nf_get_allroots 0
nf_get_prec 23042
nf_input_type 4186
nf_set_multable 3255
nfbasic_add_disc 3115
nfbasic_init 4186
nfbasic_to_nf 3122
nfcertify 7
nffp_init 6754
nfgaloismatrix 1771
nfinit 1869
nfinit0 1043
nfinitall 3136
nfinitred 0
nfinitred2 0
nfisincl 35
nfisisom 14
nfiso0 49
nfnewprec 63
nfnewprec_shallow 779
nfpoleval 11417
nfpolred 63
nftyp 36246
polgalois 3031
polgaloisnames 1029
polred 14
polred0 70
polred2 0
polred_aux 763
polred_init 1057
polredabs 0
polredabs0 336
polredabs2 0
polredabs_aux 322
polredabsall 0
polredbest 602
polredbest_aux 686
polredord 21
pr_galoisapply 7
primes_certify 84
quicktrace 54572
real_norm 6636
remake_GM 779
remove_duplicates 322
rnfpolred_i 63
rnfpolredabs 28
rnfpolredbest 35
roots_to_ZX 1345
set_LLL_basis 4109
set_mulid 1274
smallpolred 0
smallpolred2 0
store 2457
table_galoisapply 3738
tests_OK 49
transroot 5775
try_polmin 17969
tschirnhaus 3136
vecgaloisapply 7

Generated by: LCOV version 1.9