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.8.0 lcov report (development 19374-ac31b96) Lines: 1363 1466 93.0 %
Date: 2016-08-30 06:11:37 Functions: 111 126 88.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpX_FpC_nfpoleval 1456
Polred 84
QX_galoisapplymod 1456
QX_table_nfpoleval 19824
ZC_galoisapply 10150
ZM_image_shallow 1427
ZX_Q_normalize 12033
ZX_Z_normalize 12285
ZX_canon_neg 10733
ZX_is_better 4621
ZX_primitive_to_monic 12292
ZX_to_monic 0
check_ZKmodule 3234
checkabgrp 11403
checkbid 200198
checkbid_i 206400
checkbnf 683220
checkbnf_i 685383
checkbnr 198084
checkbnrgen 0
checknf 16022888
checknf_i 16748862
checknfelt_mod 344400
checkrnf 208180
checkrnf_i 211288
checksqmat 0
chk_gen 10593
chk_gen_init 351
chk_gen_prec 1456
cmp_abs_ZX 3172
complex_norm 2479135
elt_galoisapply 49
embed_T2 1583
embed_norm 1170036
embednorm_T2 0
factoredpolred 0
factoredpolred2 0
filter 770
findmindisc 350
gal_check_pol 182
galoisapply 5117
get_Tr 5110
get_bas_den 13120
get_bnf 13048
get_bnfpol 112
get_nf 110929
get_nf_fp_compo 6243
get_nfindex 525
get_nfpol 15137
get_pol 24778
get_polchar 10593
get_red_G 3395
get_roots 9143
get_roots_for_M 10424
get_sign 5110
idealfrobenius 63
idealfrobenius_aut 3024
idealinertiagroup 42
idealquasifrob 3017
idealramfrobenius 14
idealramgroupindex 14
idealramgroups 119
idealramgroupstame 105
make_G 10424
make_M 10424
make_M_G 10424
make_Tr 2737
nf_get_allroots 0
nf_get_prec 69056
nf_input_type 6216
nf_set_multable 5110
nfbasic_add_disc 5103
nfbasic_init 6216
nfbasic_to_nf 5110
nfcertify 7
nffp_init 9638
nfgaloismatrix 1939
nfgaloispermtobasis 14
nfinit 1183
nfinit0 1708
nfinit_step1 5124
nfinit_step2 5103
nfinitall 3108
nfinitred 0
nfinitred2 0
nfisincl 35
nfisisom 14
nfiso0 49
nfnewprec 63
nfnewprec_shallow 786
nfpoleval 11417
nfpolred 84
nftyp 38318
polred 14
polred0 70
polred2 0
polred_aux 798
polred_init 1113
polredabs 0
polredabs0 357
polredabs2 0
polredabs_aux 343
polredabsall 0
polredbest 616
polredbest_aux 721
polredord 21
pr_galoisapply 7
primes_certify 91
quicktrace 51163
real_norm 6671
remake_GM 786
remove_duplicates 343
rnfpolred_i 63
rnfpolredabs 28
rnfpolredbest 35
set_LLL_basis 6132
set_mulid 1302
smallpolred 0
smallpolred2 0
store 2478
table_galoisapply 3738
tests_OK 49
try_polmin 20272
tschirnhaus 3157
typv6 99883
vecgaloisapply 7

Generated by: LCOV version 1.11