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 - FpE.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 20459-9710128) Lines: 761 992 76.7 %
Date: 2017-04-29 05:33:44 Functions: 92 104 88.5 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Fl_ellcard_Shanks 201108
Fl_ellpoint 5022
Fl_elltrace 208823
Fl_elltrace_CM 236034
Fl_elltrace_naive 177317
Fle_add_inplace 4925034
Fle_dbl_inplace 180060
FpE_Miller 12488
FpE_Miller_add 4278
FpE_Miller_dbl 27238
FpE_Miller_line 15421
FpE_add 1102439
FpE_add_ip 0
FpE_add_slope 1104883
FpE_changepoint 1008
FpE_changepointinv 1927
FpE_chord_update 4278
FpE_dbl 1930868
FpE_dbl_slope 1942357
FpE_log 36
FpE_mul 453
FpE_neg 319290
FpE_neg_i 0
FpE_order 636
FpE_sub 0
FpE_tangent_update 27238
FpE_tatepairing 174
FpE_to_mod 432
FpE_vert 44472
FpE_weilpairing 8929
FpXQE_Miller 66
FpXQE_Miller_add 714
FpXQE_Miller_dbl 4308
FpXQE_Miller_line 4938
FpXQE_add 29730
FpXQE_add_slope 30426
FpXQE_changepoint 1470
FpXQE_changepointinv 768
FpXQE_chord_update 714
FpXQE_dbl 154584
FpXQE_dbl_slope 158832
FpXQE_log 0
FpXQE_mul 732
FpXQE_neg 642
FpXQE_neg_i 0
FpXQE_order 12
FpXQE_sub 0
FpXQE_tangent_update 4308
FpXQE_tatepairing 6
FpXQE_vert 5088
FpXQE_weilpairing 31
FpXQ_ellcard 3108
FpXQ_ellcardj 1446
FpXQ_ellgens 6
FpXQ_ellgroup 12
FpXQ_ellj 1452
FpXQ_elljissupersingular 140766
FpXQ_elltwist 720
Fp_ellcard 2425674
Fp_ellcard_CM 2328594
Fp_ellcard_Shanks 0
Fp_ellgens 492
Fp_ellgroup 18498
Fp_ellj 0
Fp_ellj_get_CM 56664
Fp_ellj_nodiv 55860
Fp_elljissupersingular 900
Fp_ellpoint 0
Fp_elltwist 0
Fp_ffellcard 11202
FqX_quad_root 4878
RgE_to_FpE 1160
RgE_to_FpXQE 768
_FpE_add 1102449
_FpE_dbl 1932595
_FpE_mul 415107
_FpE_pairorder 8719
_FpE_rand 24413
_FpXQE_add 29730
_FpXQE_dbl 154584
_FpXQE_mul 2413
_FpXQE_pairorder 25
_FpXQE_rand 107
_fix 0
ap_cm 1308
ap_j0 37188
ap_j1728 2243850
ap_j287496 132
ap_j8000 120
closest_lift 201096
compare_multiples 14124234
ec_ap_cm 9852
elltrace_extension 11712
get_FpE_group 720
get_FpXQE_group 6
get_table_size 0
is_CMj 726774
jissupersingular 11880
nonsquare_Fp 360
nonsquare_FpXQ 720
path_extends_to_floor 2214
random_FpE 24437
random_FpXQE 839
uclosest_lift 206118

Generated by: LCOV version 1.11