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 16912-212c0f0) Lines: 406 438 92.7 %
Date: 2014-10-20 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 150465679
ZXX_to_Kronecker 297185
ZXX_to_Kronecker_spec 725025
ZX_Z_add 31184
ZX_Z_add_shallow 4893
ZX_Z_divexact 1171755
ZX_Z_mul 3523211
ZX_Z_sub 17094
ZX_add 4272454
ZX_copy 59912
ZX_deriv 1322504
ZX_equal 122979
ZX_eval1 4718
ZX_eval2BILspec 112464672
ZX_expispec 114497530
ZX_max_lg 2422
ZX_mod_Xnm1 1187039
ZX_mul 76802605
ZX_mulspec 77131678
ZX_mulspec_mulii 55635056
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 3388092
ZX_sqrspec 3388092
ZX_sqrspec_basecase 2032858
ZX_sqrspec_basecase_limb 20199940
ZX_sqrspec_sqri 1194560
ZX_sub 226754
ZX_val 10421
ZX_valrem 8563277
ZX_valspec 151753024
Z_ZX_mulshiftspec 18549370
Z_ZX_sub 270256
Z_mod2BIL_ZX 56829616
Z_sqrshiftspec_ZX 156754
scalar_ZX 14433
scalar_ZX_shallow 12738
zx_to_ZX 0

Generated by: LCOV version 1.9