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 - FlxqE.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 20459-9710128) Lines: 916 944 97.0 %
Date: 2017-04-29 05:33:44 Functions: 96 97 99.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F3x_canonlift 3186
F3xq_ellcard 14016
F3xq_ellcard_naive 1326
F3xq_ellcardj 5166
Flx_canonlift 11952
Flx_next 28410
Flx_renormalize_ip 28410
FlxqE_Miller 16050
FlxqE_Miller_add 3570
FlxqE_Miller_dbl 40102
FlxqE_Miller_line 24284
FlxqE_add 450116
FlxqE_add_slope 453357
FlxqE_changepoint 131136
FlxqE_changepointinv 54804
FlxqE_chord_update 3570
FlxqE_dbl 1063099
FlxqE_dbl_slope 1086146
FlxqE_find_order 858
FlxqE_log 42
FlxqE_mul 55530
FlxqE_neg 372
FlxqE_neg_i 870
FlxqE_order 2106
FlxqE_sub 870
FlxqE_tangent_update 40102
FlxqE_tatepairing 48
FlxqE_vert 59816
FlxqE_weilpairing 10536
Flxq_ellcard 42234
Flxq_ellcard_Harley 18
Flxq_ellcard_Kedlaya 0
Flxq_ellcard_Kohel 21450
Flxq_ellcard_Satoh 9378
Flxq_ellcard_Shanks 786
Flxq_ellcard_naive 600
Flxq_ellcardj 12678
Flxq_ellgens 11286
Flxq_ellgroup 12342
Flxq_ellj 44334
Flxq_ellj_to_a4a6 240
Flxq_ellpoint 858
Flxq_elltwist 19572
Flxq_kronecker 1671
FpM_FpXQV_bilinear 155106
FpM_FpXV_bilinear 155106
FpXC_powderiv 103404
RgE_to_FlxqE 54804
RgX_circular_shallow 65364
Teichmuller_lift 8766
ZpXQX_liftrootmod_vald 18
ZpXQ_frob 97374
ZpXQ_frob_cyc 65364
ZpXQ_norm_mul 28134
ZpXQ_norm_pcyc 9720
ZpXQ_norm_sqr 19470
ZpXQ_sqrtnorm 11952
ZpXQ_sqrtnorm_pcyc 9516
_FlxqE_add 443918
_FlxqE_dbl 1063099
_FlxqE_mul 184686
_FlxqE_pairorder 10524
_FlxqE_rand 56645
_can5_invd 17610
_can5_invl 25296
_can5_iter 17610
_can5_lin 7686
_can5_mul 35466
_can5_sqr 35298
_can_invd 6408
_can_invl 9540
_can_iter 6408
_can_lin 3132
_lift_invd 51702
_lift_invl 72054
_lift_iter 51702
_lift_lin 20352
_shift 53076
_teich_invd 17610
_teich_invl 25284
_teich_iter 17610
_teich_lin 7674
closest_lift 1644
fill_pols 21450
get_FlxqE_group 30
get_H1 18
get_Kohel_polynomials 21450
get_norm 21468
getc2 21450
getc5 18
lift_isogeny 21468
liftcurve 18
nonsquare_Fl 6588
nonsquare_Flxq 19572
random_F3xqE 65208
random_FlxqE 121037
zx_is_pcyc 27627

Generated by: LCOV version 1.11