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.1 lcov report (development 22726-9e20c6a88) Lines: 976 1061 92.0 %
Date: 2018-06-23 05:36:28 Functions: 105 114 92.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Fl_ellcard_Shanks 212961
Fl_ellpoint 5397
Fl_elltrace 271608
Fl_elltrace_CM 305154
Fl_elltrace_naive 268614
Fle_add_inplace 5191394
Fle_dbl_inplace 191178
FpE_Miller 14733
FpE_Miller_add 5257
FpE_Miller_dbl 32359
FpE_Miller_line 18724
FpE_add 951520
FpE_add_ip 305362
FpE_add_slope 954439
FpE_changepoint 1155
FpE_changepointinv 2171
FpE_chord_update 5257
FpE_dbl 37169
FpE_dbl_slope 53526
FpE_log 42
FpE_mul 760
FpE_neg 375963
FpE_neg_i 0
FpE_order 735
FpE_sub 0
FpE_tangent_update 32359
FpE_tatepairing 203
FpE_to_FpJ 53156
FpE_to_mod 483
FpE_vert 52951
FpE_weilpairing 10515
FpJ_add 625772
FpJ_dbl 3450513
FpJ_mul 4946
FpJ_neg 0
FpJ_to_FpE 52776
FpXQE_Miller 77
FpXQE_Miller_add 833
FpXQE_Miller_dbl 5026
FpXQE_Miller_line 5761
FpXQE_add 34689
FpXQE_add_slope 35501
FpXQE_changepoint 1716
FpXQE_changepointinv 896
FpXQE_chord_update 833
FpXQE_dbl 180444
FpXQE_dbl_slope 185400
FpXQE_log 0
FpXQE_mul 854
FpXQE_neg 749
FpXQE_neg_i 0
FpXQE_order 14
FpXQE_sub 0
FpXQE_tangent_update 5026
FpXQE_tatepairing 7
FpXQE_vert 5936
FpXQE_weilpairing 35
FpXQ_ellcard 3445
FpXQ_ellcardj 1687
FpXQ_ellgens 8
FpXQ_ellgroup 15
FpXQ_ellj 1695
FpXQ_elljissupersingular 164227
FpXQ_elltwist 840
Fp_ellcard 2868481
Fp_ellcard_CM 2718450
Fp_ellcard_Shanks 77
Fp_ellgens 574
Fp_ellgroup 21595
Fp_ellj 0
Fp_ellj_get_CM 39452
Fp_ellj_nodiv 38514
Fp_elljissupersingular 1057
Fp_ellpoint 0
Fp_elltwist 0
Fp_ffellcard 13069
FqX_quad_root 5684
RgE_to_FpE 1274
RgE_to_FpXQE 896
_FpE_add 932498
_FpE_dbl 37169
_FpE_mul 490695
_FpE_pairorder 10270
_FpE_rand 28914
_FpJ_add 625758
_FpJ_dbl 3453322
_FpJ_mul 4946
_FpXQE_add 34689
_FpXQE_dbl 180444
_FpXQE_mul 2815
_FpXQE_pairorder 28
_FpXQE_rand 128
_fix 18872
ap_cm 1337
ap_j0 71820
ap_j1728 2617804
ap_j287496 140
ap_j8000 126
closest_lift 213101
compare_multiples 14484780
ec_ap_cm 11277
elltrace_extension 13650
get_FpE_group 903
get_FpXQE_group 8
get_table_size 77
is_CMj 491682
jissupersingular 13860
nonsquare_Fp 420
nonsquare_FpXQ 840
path_extends_to_floor 2590
random_FpE 31093
random_FpXQE 982
u2_is_CMj 10785
uclosest_lift 218344

Generated by: LCOV version 1.13