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 16781-61614ca) Lines: 407 438 92.9 %
Date: 2014-09-14 Functions: 51 55 92.7 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 268 305 87.9 %

Function Name Sort by function name Hit count Sort by hit count
RgX_check_QX 0
RgX_check_ZX 13370
RgX_check_ZXX 63
ZXT_remi2n 14452
ZXV_Z_mul 3780
ZXV_dotproduct 41433
ZXV_equal 36
ZXV_remi2n 0
ZXX_Z_divexact 3647
ZXX_Z_mul 1617
ZXX_max_lg 63
ZXX_renormalize 144216039
ZXX_to_Kronecker 292973
ZXX_to_Kronecker_spec 521445
ZX_Z_add 81227
ZX_Z_add_shallow 4949
ZX_Z_divexact 1032092
ZX_Z_mul 3583654
ZX_Z_sub 17094
ZX_add 5267194
ZX_copy 81465
ZX_deriv 1314329
ZX_equal 124975
ZX_eval1 4718
ZX_eval2BILspec 110307100
ZX_expispec 112284239
ZX_max_lg 2499
ZX_mod_Xnm1 1187039
ZX_mul 76590729
ZX_mulspec 76867840
ZX_mulspec_mulii 54597079
ZX_mulu 59437
ZX_neg 69954
ZX_rem 102893
ZX_remi2n 42056
ZX_rescale 2674
ZX_rescale2n 19176
ZX_rescale_lt 0
ZX_shifti 82682
ZX_sqr 3252166
ZX_sqrspec 3252166
ZX_sqrspec_basecase 1977139
ZX_sqrspec_basecase_limb 19663645
ZX_sqrspec_sqri 1112942
ZX_sub 227657
ZX_val 10211
ZX_valrem 8563951
ZX_valspec 149400120
Z_ZX_mulshiftspec 18480538
Z_ZX_sub 271297
Z_mod2BIL_ZX 55710021
Z_sqrshiftspec_ZX 154805
scalar_ZX 64129
scalar_ZX_shallow 7607
zx_to_ZX 0

Generated by: LCOV version 1.9