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 - ZX.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 16962-5a32637) Lines: 406 438 92.7 %
Date: 2014-10-29 Functions: 51 55 92.7 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 266 305 87.2 %

Function Name Sort by function name Hit count Sort by hit count
RgX_check_QX 0
RgX_check_ZX 12999
RgX_check_ZXX 63
ZXT_remi2n 14452
ZXV_Z_mul 3780
ZXV_dotproduct 41433
ZXV_equal 35
ZXV_remi2n 0
ZXX_Z_divexact 33579
ZXX_Z_mul 1631
ZXX_max_lg 63
ZXX_renormalize 151095159
ZXX_to_Kronecker 297091
ZXX_to_Kronecker_spec 724907
ZX_Z_add 31184
ZX_Z_add_shallow 4893
ZX_Z_divexact 1171785
ZX_Z_mul 3523278
ZX_Z_sub 17094
ZX_add 4272548
ZX_copy 59912
ZX_deriv 1322110
ZX_equal 122966
ZX_eval1 4718
ZX_eval2BILspec 112627959
ZX_expispec 114664897
ZX_max_lg 2422
ZX_mod_Xnm1 1187039
ZX_mul 76894242
ZX_mulspec 77223298
ZX_mulspec_mulii 55715092
ZX_mulu 59437
ZX_neg 3545
ZX_rem 102011
ZX_remi2n 42056
ZX_rescale 2674
ZX_rescale2n 18812
ZX_rescale_lt 0
ZX_shifti 82682
ZX_sqr 3396456
ZX_sqrspec 3396456
ZX_sqrspec_basecase 2036938
ZX_sqrspec_basecase_limb 20213604
ZX_sqrspec_sqri 1197775
ZX_sub 226771
ZX_val 10421
ZX_valrem 8562213
ZX_valspec 151944453
Z_ZX_mulshiftspec 18560872
Z_ZX_sub 270266
Z_mod2BIL_ZX 56912867
Z_sqrshiftspec_ZX 157812
scalar_ZX 14433
scalar_ZX_shallow 12738
zx_to_ZX 0

Generated by: LCOV version 1.9