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 - F2xqE.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 21501-1931cb9) Lines: 420 446 94.2 %
Date: 2017-12-16 06:20:36 Functions: 55 58 94.8 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
F2x_canonlift 6911
F2xqE_Miller 9618
F2xqE_Miller_add 9618
F2xqE_Miller_dbl 17731
F2xqE_Miller_line 17766
F2xqE_add 354207
F2xqE_add_slope 354242
F2xqE_changepoint 356055
F2xqE_changepointinv 194698
F2xqE_chord_update 9618
F2xqE_dbl 1055971
F2xqE_dbl_slope 1075242
F2xqE_log 42
F2xqE_mul 184352
F2xqE_neg 84
F2xqE_neg_i 0
F2xqE_order 280
F2xqE_sub 0
F2xqE_tangent_update 17731
F2xqE_tatepairing 28
F2xqE_vert 36932
F2xqE_weilpairing 5334
F2xq_ellcard 45142
F2xq_ellgens 3598
F2xq_ellgroup 3668
F2xq_elltrace_Harley 7335
F2xq_elltracej 37723
F2xq_elltwist 3514
RgE_to_F2xqE 194698
Z2XQ_frob 15067
Z2XQ_invnorm 6915
Z2XQ_invnorm_pcyc 238
Z2x_rshift 38490
Z2xq_frob 19407
_F2xqE_add 354207
_F2xqE_dbl 1055971
_F2xqE_mul 212898
_F2xqE_pairorder 371
_F2xqE_rand 13650
_can_invd 14784
_can_invls 33892
_can_iter 14779
_can_lin 10
_can_lins 19105
_frob_invls 34473
_frob_lin 10
_frob_lins 19408
_lift_invd 15057
_lift_iter 15058
gen_Z2X_Dixon 29882
gen_Z2x_Dixon 106882
get_F2xqE_group 0
get_r 10304
get_v 23695
is_2_torsion 22099
nonzerotrace_F2xq 3514
random_F2xqE 181650
solve_AGM_eqn 7152

Generated by: LCOV version 1.11