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-bordeaux.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.10.0 lcov report (development 20459-9710128) Lines: 433 458 94.5 %
Date: 2017-04-28 05:33:48 Functions: 55 57 96.5 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
RgX_check_QX 85416
RgX_check_ZX 515796
RgX_check_ZXX 54
ZXT_remi2n 31805
ZXV_Z_mul 6408
ZXV_dotproduct 70962
ZXV_equal 30
ZXV_remi2n 0
ZXX_Z_add_shallow 48
ZXX_Z_divexact 45396
ZXX_Z_mul 1764
ZXX_max_lg 540
ZXX_renormalize 138368677
ZXX_to_Kronecker 379350
ZXX_to_Kronecker_spec 1035648
ZX_Z_add 57290
ZX_Z_add_shallow 8024
ZX_Z_divexact 1858027
ZX_Z_mul 6528676
ZX_Z_sub 29562
ZX_add 7073575
ZX_copy 92742
ZX_deriv 1248878
ZX_div_by_X_1 18
ZX_equal 139697
ZX_eval1 4044
ZX_eval2BILspec 92283581
ZX_expispec 95087193
ZX_max_lg 6611568
ZX_mod_Xnm1 1304567
ZX_mul 63553496
ZX_mulspec 64895456
ZX_mulspec_mulii 45464828
ZX_mulu 102960
ZX_neg 4014
ZX_rem 150480
ZX_remi2n 81286
ZX_rescale 10080
ZX_rescale2n 111324
ZX_rescale_lt 0
ZX_shifti 153040
ZX_sqr 4358041
ZX_sqrspec 4358007
ZX_sqrspec_basecase 2800214
ZX_sqrspec_basecase_limb 30154975
ZX_sqrspec_sqri 1354011
ZX_sub 461615
ZX_val 14364
ZX_valrem 7412472
ZX_valspec 129349945
Z_ZX_mulshiftspec 17033876
Z_ZX_sub 362304
Z_mod2BIL_ZX 46818825
Z_sqrshiftspec_ZX 198321
scalar_ZX 17082
scalar_ZX_shallow 14712
zx_to_ZX 246

Generated by: LCOV version 1.11