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 17707-04f73e4) Lines: 916 994 92.2 %
Date: 2015-03-29 Functions: 100 109 91.7 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 447 549 81.4 %

Function Name Sort by function name Hit count Sort by hit count
Fl_ellcard_Shanks 104506
Fl_ellcard_naive 37355
Fl_ellpoint 3472
Fl_elltrace 109034
Fl_elltrace_CM 137288
Fle_add_inplace 3408782
Fle_dbl_inplace 92210
FpE_Miller 15380
FpE_Miller_add 4928
FpE_Miller_dbl 34370
FpE_add 1238643
FpE_add_ip 305362
FpE_add_slope 1241534
FpE_changepoint 1110
FpE_changepointinv 2149
FpE_chord_update 4928
FpE_dbl 1931836
FpE_dbl_slope 1952457
FpE_log 42
FpE_mul 685
FpE_neg 363895
FpE_neg_i 0
FpE_order 819
FpE_sub 0
FpE_tangent_update 34370
FpE_tatepairing 196
FpE_to_mod 438
FpE_vert 55140
FpE_weilpairing 11232
FpXQE_Miller 70
FpXQE_Miller_add 630
FpXQE_Miller_dbl 4620
FpXQE_add 37467
FpXQE_add_slope 38090
FpXQE_changepoint 1715
FpXQE_changepointinv 868
FpXQE_chord_update 630
FpXQE_dbl 191869
FpXQE_dbl_slope 196398
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 37
FpXQ_ellcard 855
FpXQ_ellcardj 840
FpXQ_elldivpol 28
FpXQ_ellgens 7
FpXQ_ellgroup 14
FpXQ_ellj 848
FpXQ_elljissupersingular 164199
Fp_ellcard 2691031
Fp_ellcard_CM 2664872
Fp_ellcard_Shanks 77
Fp_elldivpol 0
Fp_ellgens 574
Fp_ellgroup 21532
Fp_ellj 0
Fp_ellj_get_CM 2996
Fp_ellj_nodiv 2121
Fp_elljissupersingular 952
Fp_ellpoint 0
Fp_ffellcard 6041
FqX_quad_root 5565
Fq_elldivpolmod 6538
Mod16 3948756
RgE_to_FpE 1278
RgE_to_FpXQE 868
_FpE_add 1219608
_FpE_dbl 1932688
_FpE_mul 475548
_FpE_pairorder 10994
_FpE_rand 29348
_FpXQE_add 37467
_FpXQE_dbl 191869
_FpXQE_mul 3134
_FpXQE_pairorder 37
_FpXQE_rand 144
_fix 18872
_red 17906
_rmul 72674
_rsqr 25655
ap_cm 1006
ap_j0 49602
ap_j1728 2635024
ap_j287496 112
ap_j8000 112
closest_lift 104646
compare_multiples 12416283
divpol 71589
divpol_f2 43890
divpol_ff 43890
ec_ap_cm 23091
elltrace_extension 6328
get_FpE_group 553
get_FpXQE_group 7
get_table_size 77
is_CMj 35581
jissupersingular 13783
path_extends_to_floor 2541
random_FpE 29376
random_FpXQE 998
u2_is_CMj 756
uclosest_lift 107964

Generated by: LCOV version 1.9