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 21351-66b5338) Lines: 982 1068 91.9 %
Date: 2017-11-22 06:21:08 Functions: 105 114 92.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpE_neg_i 0
FpE_sub 0
FpJ_neg 0
FpXQE_log 0
FpXQE_neg_i 0
FpXQE_sub 0
Fp_ellj 0
Fp_ellpoint 0
Fp_elltwist 0
FpXQE_tatepairing 7
FpXQ_ellgens 7
get_FpXQE_group 8
FpXQE_order 14
FpXQ_ellgroup 14
_FpXQE_pairorder 29
FpXQE_weilpairing 36
FpE_log 42
FpXQE_Miller 77
Fp_ellcard_Shanks 77
get_table_size 77
_FpXQE_rand 124
ap_j8000 126
ap_j287496 147
FpE_tatepairing 203
nonsquare_Fp 420
Fp_ellgens 574
FpXQE_neg 749
FpE_order 819
FpXQE_Miller_add 833
FpXQE_chord_update 833
FpXQ_elltwist 840
get_FpE_group 840
nonsquare_FpXQ 840
FpXQE_mul 854
FpXQE_changepointinv 896
RgE_to_FpXQE 896
random_FpXQE 978
FpE_to_mod 1039
Fp_elljissupersingular 1050
FpE_mul 1295
ap_cm 1337
FpXQ_ellcardj 1687
FpXQ_ellj 1695
FpE_changepoint 1711
FpXQE_changepoint 1715
RgE_to_FpE 1888
path_extends_to_floor 2583
FpE_changepointinv 2787
_FpXQE_mul 2814
FpXQ_ellcard 3445
FpJ_mul 4632
_FpJ_mul 4632
Fl_ellpoint 4956
FpXQE_Miller_dbl 5026
FpXQE_tangent_update 5026
FpE_Miller_add 5635
FpE_chord_update 5635
FqX_quad_root 5691
FpXQE_Miller_line 5761
FpXQE_vert 5936
_FpE_pairorder 10312
FpE_weilpairing 10557
u2_is_CMj 10607
ec_ap_cm 11284
Fp_ffellcard 13097
elltrace_extension 13678
jissupersingular 13860
FpE_Miller 15101
_fix 18872
FpE_Miller_line 19230
Fp_ellgroup 21665
_FpE_rand 28761
random_FpE 30174
FpE_Miller_dbl 33191
FpE_tangent_update 33198
FpXQE_add 34671
_FpXQE_add 34671
FpXQE_add_slope 35483
FpE_dbl 36649
_FpE_dbl 36649
Fp_ellj_nodiv 37898
Fp_ellj_get_CM 38836
ap_j0 43386
FpE_dbl_slope 53134
FpJ_to_FpE 53789
FpE_vert 54585
FpE_to_FpJ 55469
FpXQ_elljissupersingular 164227
FpXQE_dbl 180239
_FpXQE_dbl 180239
FpXQE_dbl_slope 185195
Fle_dbl_inplace 186565
Fl_elltrace_naive 204895
Fl_ellcard_Shanks 207487
closest_lift 207627
uclosest_lift 212429
Fl_elltrace 244975
Fl_elltrace_CM 276818
FpE_add_ip 305362
FpE_neg 372582
is_CMj 483810
_FpE_mul 487374
_FpE_add 923048
FpE_add 942070
FpE_add_slope 945311
_FpJ_add 980285
FpJ_add 980418
ap_j1728 2617825
Fp_ellcard_CM 2689421
Fp_ellcard 2799209
Fle_add_inplace 5150360
_FpJ_dbl 6328687
FpJ_dbl 6330086
compare_multiples 14459832

Generated by: LCOV version 1.11