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 20704-afbaa81) Lines: 1408 1493 94.3 %
Date: 2017-05-26 05:56:59 Functions: 109 125 87.2 %
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 23208
ZC_galoisapply 23271
ZM_image_shallow 1427
ZX_Q_normalize 13237
ZX_Z_normalize 13489
ZX_canon_neg 10712
ZX_is_better 4600
ZX_primitive_to_monic 13503
ZX_to_monic 0
check_ZKmodule 8302
checkabgrp 11522
checkbid 209719
checkbid_i 215025
checkbnf 703710
checkbnf_i 706944
checkbnr 207759
checkbnrgen 0
checknf 49592140
checknf_i 50300159
checknfelt_mod 180880
checkrnf 210427
checkrnf_i 214200
checksqmat 0
chk_gen 10593
chk_gen_init 351
chk_gen_prec 1463
cmp_abs_ZX 3151
complex_norm 2893717
elt_galoisapply 49
embed_T2 1583
embed_norm 1279102
embednorm_T2 0
factoredpolred 0
factoredpolred2 0
filter 777
findmindisc 350
gal_check_pol 2380
galoisapply 19456
get_Tr 6370
get_aut 7644
get_bas_den 14833
get_bnf 13174
get_bnfpol 112
get_nf 113568
get_nfindex 868
get_nfpol 20275
get_pol 24764
get_polchar 10593
get_red_G 4123
get_roots 10960
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 12383
make_M 12383
make_M_G 12383
make_Tr 3255
nf_basden 764
nf_get_allroots 0
nf_get_prec 72984
nf_input_type 6146
nf_multable 6370
nfcertify 7
nffp_init 11613
nfgaloismatrix 3496
nfgaloispermtobasis 1330
nfinit 1680
nfinit0 2093
nfinit_basic 6146
nfinit_basic_partial 1029
nfinit_complete 6363
nfinitall 3773
nfinitred 0
nfinitred2 0
nfisincl 42
nfisisom 21
nfiso0 63
nfmaxord_complete 12733
nfmaxord_to_nf 6370
nfnewprec 63
nfnewprec_shallow 750
nfpoleval 11417
nfpolred 105
nftyp 42063
polred 14
polred0 70
polred2 0
polred_aux 805
polred_init 1120
polredabs 0
polredabs0 357
polredabs2 0
polredabs_aux 343
polredabsall 0
polredbest 616
polredbest_aux 728
polredord 21
pr_galoisapply 7
primes_certify 91
quicktrace 67774
real_norm 6671
remove_duplicates 343
rnfpolred_i 63
rnfpolredabs 28
rnfpolredbest 35
set_LLL_basis 7378
set_mulid 1302
smallpolred 0
smallpolred2 0
store 2478
tests_OK 63
try_polmin 20328
tschirnhaus 3164
typv6 103418
vecgaloisapply 7
zk_galoisapplymod 5495

Generated by: LCOV version 1.11