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 - gen1.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 17909-2b849a1) Lines: 1773 1934 91.7 %
Date: 2015-07-06 Functions: 88 88 100.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1181 1440 82.0 %

Function Name Sort by function name Hit count Sort by hit count
Zp_nosquare_m1 28
addQp 129464
addRc 40953941
addRq 679
addTp 7
add_intmod_same 1013094
add_rfrac 2781641
add_rfrac_scal 8350047
add_scal 13705735
add_ser_scal 6020
addqf 21
addsub_frac 19612722
addsub_polmod 973
addsub_polmod_scal 2720699
addsub_pp 939008
conjvec 42
divRc 340567
divTp 70
div_T_scal 879535
div_intmod_same 28141
div_polmod_same 31955
div_rfrac 1186329
div_rfrac_pol 253134
div_rfrac_scal 270646
div_scal_T 9143326
div_scal_pol 8187597
div_scal_rfrac 1004057
div_scal_ser 1498
div_ser 330003
div_ser_scal 90820
divcR 2161214
divfq 7
divpT 910
divpp 84211
divqf 28
ff_poltype 28700
fill_ser 374423
fix_rfrac 155526
gadd 759157542
gaddsg 13851463
gconj 561896
gdiv 96704177
gdivgs 2594092
ginv 7373805
gmul 2367571099
gmul2n 30697750
gmulsg 18682529
gred_frac2 13833731
gred_rfrac2 18173809
gred_rfrac2_i 43369014
gred_rfrac_simple 54135190
gsqr 849141461
gsub 1419023337
gsubsg 295536
inv_polmod 23740
kro_quad 21
mulRc 41414879
mulRc_direct 35
mulRq 1834
mulTp 88205
mul_gen_rfrac 160830
mul_intmod_same 2457825
mul_polmod 1386
mul_polmod_same 1636137
mul_polmod_scal 1162504
mul_rfrac 7743960
mul_rfrac_scal 9454165
mul_scal 55231003
mul_ser_scal 189652
mulcIR 806381
mulcc 64801445
mulcxI 1983996
mulcxmI 47838
mulpp 1189778
mulqf 14
mulqq 1344
mulrfrac 946082
quad_polmod_conj 13433
quad_polmod_mul 1013119
quad_polmod_norm 13433
rfrac_denom_mul_scal 9405160
ser_add 251068
ser_normalize 56
serprec 501394
sqr_polmod 22347
sqr_ser_part 5208
sub_intmod_same 122309
warn_coercion 70

Generated by: LCOV version 1.9