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 - kernel/gmp - mp.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 17404-c89e0b8) Lines: 641 716 89.5 %
Date: 2015-01-30 Functions: 53 54 98.1 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 424 533 79.5 %

Function Name Sort by function name Hit count Sort by hit count
GEN2mpz 112186197
addiispec 1214462507
adduispec 1005170305
adduispec_offset 295489208
addumului 1006713
affir 122590315
cmpiispec 1714655955
convi 378609
diviiexact 327086713
divis 37654
divis_rem 41375953
diviu_rem 126133177
diviuexact 317919963
diviuuexact 72723
divri 13717334
divri_with_gmp 3120459
divrr 90326515
divrr_with_gmp 16290733
dvmdii 600237634
equaliispec 27434768
floorr 358386
icopy_ef 10671620
incloop 17747148
incneg 5384
incpos 17732876
int_normalize 132520912
mantissa2nr 17423191
mpz2GEN 102644487
muliispec 1200411916
muliispec_mirror 55203338
muluispec 1339753500
muluui 94931
pari_gmp_free 2668
pari_gmp_realloc 0
pari_kernel_close 715
pari_kernel_init 727
red_montgomery 5747734
remi2n 9201232
resetloop 145468
roundr_up_ip 92568606
setloop 1475384
shiftispec 218170361
sqrispec 637851255
sqrispec_mirror 6871352
sqrtr_abs 12530534
sqrtremi 1402461
subiispec 1510417307
subiuspec 916834598
truncr 418460
umodiu 440663090
xmpn_copy 1681948
xmpn_mirror 190426542
xmpn_mirrorcopy 200440797
xmpn_zero 31941726

Generated by: LCOV version 1.9