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.8.0 lcov report (development 19043-64ae2d8) Lines: 916 1002 91.4 %
Date: 2016-06-25 Functions: 98 106 92.5 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 434 529 82.0 %

Function Name Sort by function name Hit count Sort by hit count
Fl_ellcard_Shanks 351358
Fl_ellpoint 4431
Fl_elltrace 414472
Fl_elltrace_CM 443824
Fl_elltrace_naive 173436
Fle_add_inplace 9506376
Fle_dbl_inplace 324143
FpE_Miller 16393
FpE_Miller_add 5229
FpE_Miller_dbl 37047
FpE_Miller_line 20937
FpE_add 1280224
FpE_add_ip 305362
FpE_add_slope 1283400
FpE_changepoint 1113
FpE_changepointinv 2182
FpE_chord_update 5229
FpE_dbl 2011983
FpE_dbl_slope 2031036
FpE_log 42
FpE_mul 688
FpE_neg 372582
FpE_neg_i 0
FpE_order 819
FpE_sub 0
FpE_tangent_update 37047
FpE_tatepairing 203
FpE_to_mod 441
FpE_vert 59229
FpE_weilpairing 11374
FpXQE_Miller 77
FpXQE_Miller_add 833
FpXQE_Miller_dbl 5026
FpXQE_Miller_line 5761
FpXQE_add 34476
FpXQE_add_slope 35288
FpXQE_changepoint 1715
FpXQE_changepointinv 896
FpXQE_chord_update 833
FpXQE_dbl 181318
FpXQE_dbl_slope 186274
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 1695
FpXQ_ellcardj 1687
FpXQ_ellgens 7
FpXQ_ellgroup 14
FpXQ_ellj 1695
FpXQ_elljissupersingular 164199
FpXQ_elltwist 840
Fp_ellcard 2744532
Fp_ellcard_CM 2665341
Fp_ellcard_Shanks 77
Fp_ellgens 574
Fp_ellgroup 21539
Fp_ellj 0
Fp_ellj_get_CM 14693
Fp_ellj_nodiv 13818
Fp_elljissupersingular 952
Fp_ellpoint 0
Fp_elltwist 0
Fp_ffellcard 16891
FqX_quad_root 5509
Mod16 3924074
RgE_to_FpE 1287
RgE_to_FpXQE 896
_FpE_add 1261172
_FpE_dbl 2012372
_FpE_mul 491452
_FpE_pairorder 11129
_FpE_rand 30352
_FpXQE_add 34476
_FpXQE_dbl 181318
_FpXQE_mul 2827
_FpXQE_pairorder 28
_FpXQE_rand 132
_fix 18872
ap_cm 1197
ap_j0 43386
ap_j1728 2617825
ap_j287496 147
ap_j8000 126
closest_lift 351498
compare_multiples 21114683
ec_ap_cm 11144
elltrace_extension 17458
get_FpE_group 840
get_FpXQE_group 8
get_table_size 77
is_CMj 177573
jissupersingular 13783
nonsquare_Fp 420
nonsquare_FpXQ 840
path_extends_to_floor 2527
random_FpE 30380
random_FpXQE 986
u2_is_CMj 3748
uclosest_lift 355775

Generated by: LCOV version 1.9