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 to exceed 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 - ellisog.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.0 lcov report (development 29580-d8b649a849) Lines: 1015 1030 98.5 %
Date: 2024-10-04 09:07:15 Functions: 88 88 100.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
QXQH_eval 1904
RgH_eval 5040
RgXY_eval 9590
_degree 3780
a4a6_divpol 15421
contrib_full_tors 14
contrib_weierstrass_pt 7819
corr 336
derivhasse 98
distmat_pow 5880
divy 476
elkies98 336
ellQ_exceptional_iso 2604
ellQ_goodl 2450
ellQ_goodl_l 182
ellQ_isomat 2604
ellcompisog 1267
ellisog_by_Kohel 10836
ellisog_by_j 1918
ellisog_by_jt 2072
ellisog_by_roots 10668
ellisogeny 1120
ellisogenyapply 70
ellisograph_Kohel_iso 15421
ellisograph_Kohel_r 14476
ellisograph_a4a6 4151
ellisograph_dummy 154
ellisograph_iso 4550
ellisograph_p 3164
ellisograph_r 3451
ellisomat 2919
ellisotree 2177
ellisweierstrasspoint 903
ellmaninconstant 2142
ellnf_charpoly 6188
ellnf_goodl_l 112
ellnf_isocrv 644
ellnf_isomat 112
ellnf_modpoly 105
ellnf_prime_degree 112
ellnf_prime_degree_easy 112
ellnf_prime_degree_hard 49
ellnfcompisog 1722
ellweilcurve 2184
etree_distmat 5880
etree_distmatr 16807
etree_list 5880
etree_listr 16807
etree_nbnodes 43652
fill_LM 3276
first_three_power_sums 12061
get_isog_vars 1764
get_isomat 4361
get_polmodular 4088
idealgen_minpoly 2226
invisogeny_a4a6 273
isog_abscissa 1316
isog_identity 252
isog_ordinate 1316
isogeny_a4a6 273
isogeny_from_kernel_point 427
isogeny_from_kernel_poly 12054
isograph_p 6440
isomat_eq 22134
isomat_find 4340
isomat_perm 539
isomatdbl 714
list_to_crv 2821
make_velu_curve 12425
mkisomat 2492
mkisomatdbl 714
nfispower_quo 3654
nfmkisomat 5880
non_two_torsion_abscissa 812
non_two_torsion_ordinate_char2 49
non_two_torsion_ordinate_char_not2 1267
path_to_manin 2142
shortest_path 2142
stariter 6468
stariter_easy 2240
stariter_hard 2226
starlaw 18634
startor 8414
to_RgX 4760
trivial_isogeny 11760
twistisogeny 567
two_torsion_part 12054
update_isogeny_polys 532

Generated by: LCOV version 1.16