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-bordeaux1.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 18591-61b65cc) Lines: 925 1033 89.5 %
Date: 2016-02-10 Functions: 102 113 90.3 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 420 553 75.9 %

Function Name Sort by function name Hit count Sort by hit count
Fl_ellcard_Shanks 349342
Fl_ellpoint 4396
Fl_elltrace 400326
Fl_elltrace_CM 428579
Fl_elltrace_naive 152773
Fle_add_inplace 9439183
Fle_dbl_inplace 322225
FpE_Miller 15394
FpE_Miller_add 5054
FpE_Miller_dbl 34834
FpE_add 1285370
FpE_add_ip 305362
FpE_add_slope 1288500
FpE_changepoint 1116
FpE_changepointinv 2155
FpE_chord_update 5054
FpE_dbl 2054799
FpE_dbl_slope 2070463
FpE_log 42
FpE_mul 693
FpE_neg 372582
FpE_neg_i 0
FpE_order 819
FpE_sub 0
FpE_tangent_update 34834
FpE_tatepairing 196
FpE_to_mod 444
FpE_vert 55744
FpE_weilpairing 11353
FpXQE_Miller 70
FpXQE_Miller_add 630
FpXQE_Miller_dbl 4620
FpXQE_add 37300
FpXQE_add_slope 37923
FpXQE_changepoint 1715
FpXQE_changepointinv 868
FpXQE_chord_update 630
FpXQE_dbl 190836
FpXQE_dbl_slope 195365
FpXQE_log 0
FpXQE_mul 854
FpXQE_neg 749
FpXQE_neg_i 0
FpXQE_order 14
FpXQE_sub 0
FpXQE_tangent_update 4620
FpXQE_tatepairing 0
FpXQE_vert 5320
FpXQE_weilpairing 35
FpXQ_ellcard 1695
FpXQ_ellcardj 1680
FpXQ_elldivpol 28
FpXQ_ellgens 7
FpXQ_ellgroup 14
FpXQ_ellj 1688
FpXQ_elljissupersingular 164199
FpXQ_elltwist 840
Fp_ellcard 2735460
Fp_ellcard_CM 2663038
Fp_ellcard_Shanks 77
Fp_elldivpol 0
Fp_ellgens 574
Fp_ellgroup 21532
Fp_ellj 0
Fp_ellj_get_CM 12642
Fp_ellj_nodiv 11767
Fp_elljissupersingular 952
Fp_ellpoint 0
Fp_elltwist 0
Fp_ffellcard 14462
FqX_quad_root 5565
Fq_elldivpolmod 8477
Mod16 3923556
RgE_to_FpE 1284
RgE_to_FpXQE 868
_FpE_add 1266313
_FpE_dbl 2054467
_FpE_mul 491144
_FpE_pairorder 11115
_FpE_rand 30185
_FpXQE_add 37300
_FpXQE_dbl 190836
_FpXQE_mul 3125
_FpXQE_pairorder 35
_FpXQE_rand 136
_fix 18872
_red 22715
_rmul 88949
_rsqr 31913
ap_cm 63
ap_j0 43260
ap_j1728 2617699
ap_j287496 21
ap_j8000 0
closest_lift 349482
compare_multiples 21004622
divpol 88270
divpol_f2 53942
divpol_ff 53942
ec_ap_cm 9758
elltrace_extension 15029
get_FpE_group 840
get_FpXQE_group 8
get_table_size 77
is_CMj 158030
jissupersingular 13783
nonsquare_Fp 420
nonsquare_FpXQ 840
path_extends_to_floor 2541
random_FpE 30213
random_FpXQE 990
u2_is_CMj 3502
uclosest_lift 353724

Generated by: LCOV version 1.9