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 21921-ca7d0c8) Lines: 1469 1543 95.2 %
Date: 2018-02-20 06:16:13 Functions: 112 128 87.5 %
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
nfisisom 21
polredord 21
rnfpolredbest 35
elt_galoisapply 49
nfisincl 49
idealfrobenius_aut 56
idealfrobenius 63
nfnewprec 63
get_factor 70
nfiso0 70
polred0 70
tests_OK 70
Polred 84
rnfpolredabs 84
nfpolred 105
get_bnfpol 112
idealramgroups 112
rnfpolred_i 119
primes_certify 231
idealramgroupswild 462
polredabs0 476
remove_duplicates 476
findmindisc 546
chk_gen_init 547
polredabs_i 553
idealramfrobenius_aut 595
polredbest 609
polredbest_i 644
polredbest_aux 728
filter 777
polred_aux 805
get_nfindex 924
nfnewprec_shallow 969
nf_basden 983
nfinit_basic_partial 1225
polred_init 1316
nfgaloispermtobasis 1330
idealquasifrob 1393
ZM_image_shallow 1616
set_mulid 1645
idealinertiagroup 1792
nfinit 1813
chk_gen_prec 1855
idealramgroupstame 1855
nfinit0 2219
idealramgroups_aut 2317
gal_check_pol 2380
embed_T2 2381
tschirnhaus 3171
ZX_cmp 3592
nfinitall 4032
make_Tr 4984
zk_galoisapplymod 5495
get_aut 7644
FpX_FpC_nfpoleval 7945
check_ZKmodule 8463
get_red_G 9268
nfpoleval 11417
real_norm 11592
nf_input_type 12502
nfinit_basic 12502
nfinit_complete 13041
get_Tr 13048
nf_multable 13048
nfmaxord_to_nf 13048
set_LLL_basis 14252
checkabgrp 16863
cmpii_polred 17488
get_bnf 18627
ZX_is_better 19272
ZX_Q_normalize 20034
ZX_Z_normalize 20286
ZX_primitive_to_monic 20321
try_polmin 20328
get_roots 22985
nffp_init 23632
make_G 24621
make_M 24621
make_M_G 24621
ZX_canon_neg 25370
nfmaxord_complete 26089
nfgaloismatrix 27471
chk_gen 28324
get_polchar 28324
get_bas_den 28581
QX_table_nfpoleval 30425
ZC_galoisapply 30551
get_nfpol 40477
nftyp 43302
get_pol 43552
galoisapply 44817
quicktrace 82404
nf_get_prec 101862
typv6 109739
get_nf 114219
checknfelt_mod 181123
checkbid 300068
checkbid_i 325716
checkbnr 365882
checkrnf 591297
checkrnf_i 595329
checkbnf 1030832
checkbnf_i 1034094
embed_norm 1345315
ZX_Q_mul 2072760
complex_norm 2938955
checknf 50613324
checknf_i 51344226

Generated by: LCOV version 1.11