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 16804-345a01c) Lines: 1540 1625 94.8 %
Date: 2014-09-20 Functions: 119 125 95.2 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 974 1206 80.8 %

Function Name Sort by function name Hit count Sort by hit count
F4 1008
FpX_FpC_nfpoleval 63
Polred 133
QX_galoisapplymod 63
QX_table_nfpoleval 12061
ZC_galoisapply 3619
ZM_image_shallow 1308
ZX_Q_normalize 9730
ZX_Z_normalize 9926
ZX_canon_neg 11146
ZX_is_better 5083
ZX_primitive_to_monic 9940
ZX_to_monic 0
check_ZKmodule 2149
checkabgrp 11067
checkbid 173766
checkbid_i 178659
checkbnf 577137
checkbnf_i 578194
checkbnr 168362
checkbnrgen 0
checknf 4513944
checknf_i 4596005
checknfelt_mod 50239
checkrnf 7196
checksqmat 0
chk_gen 10327
chk_gen_init 302
chk_gen_prec 1365
cmp_abs_ZX 3235
complex_norm 1202665
elt_galoisapply 49
embed_T2 1443
embed_norm 734332
embednorm_T2 0
factoredpolred 7
factoredpolred2 7
filter 777
findmindisc 301
gal_check_pol 112
galois_res 1022
galoisapply 4137
get_Tr 2331
get_bas_den 7517
get_bnf 12460
get_bnfpol 154
get_nf 55489
get_nf_fp_compo 3422
get_nfindex 161
get_nfpol 7546
get_pol 23980
get_polchar 10327
get_red_G 2009
get_roots 5230
get_roots_for_M 6116
get_sign 2331
idealfrobenius 14
idealinertiagroup 21
idealquasifrob 84
idealramgroupindex 14
idealramgroups 98
idealramgroupstame 84
make_G 6116
make_M 6116
make_M_G 6116
make_Tr 1302
nf_get_allroots 0
nf_get_prec 19935
nf_input_type 3388
nf_set_multable 2464
nfbasic_add_disc 2317
nfbasic_init 3388
nfbasic_to_nf 2331
nfcertify 7
nffp_init 5431
nfgaloismatrix 1596
nfinit 1526
nfinit0 658
nfinitall 2338
nfinitred 7
nfinitred2 7
nfisincl 49
nfisisom 28
nfiso0 77
nfnewprec 63
nfnewprec_shallow 685
nfpoleval 11417
nfpolred 77
nftyp 35861
polgalois 3010
polgaloisnames 1022
polred 28
polred0 70
polred2 7
polred_aux 805
polred_init 1071
polredabs 7
polredabs0 308
polredabs2 7
polredabs_aux 294
polredabsall 0
polredbest 581
polredbest_aux 679
polredord 28
pr_galoisapply 7
primes_certify 98
quicktrace 42910
real_norm 6706
remake_GM 685
remove_duplicates 294
rnfpolred_i 63
rnfpolredabs 28
rnfpolredbest 35
roots_to_ZX 1346
set_LLL_basis 3311
set_mulid 1176
smallpolred 7
smallpolred2 7
store 2429
table_galoisapply 3738
tests_OK 77
transroot 5768
try_polmin 18914
tschirnhaus 3150
vecgaloisapply 7

Generated by: LCOV version 1.9