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.16.2 lcov report (development 29115-f22e516b23) Lines: 978 991 98.7 %
Date: 2024-04-19 08:07:09 Functions: 85 85 100.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
contrib_full_tors 14
ellisotree 35
ellweilcurve 42
ellnf_prime_degree_hard 49
non_two_torsion_ordinate_char2 49
ellisogenyapply 70
get_isomat 77
derivhasse 98
ellnf_modpoly 105
ellnf_goodl_l 112
ellnf_isomat 112
ellnf_prime_degree 112
ellnf_prime_degree_easy 112
ellisograph_dummy 154
isomatdbl 154
mkisomatdbl 154
ellQ_goodl_l 182
isog_identity 252
invisogeny_a4a6 273
isogeny_a4a6 273
ellQ_goodl 308
corr 336
elkies98 336
isogeny_from_kernel_point 427
mkisomat 455
ellQ_exceptional_iso 462
ellQ_isomat 462
divy 476
update_isogeny_polys 532
isomat_perm 539
ellisograph_p 567
twistisogeny 567
ellnf_isocrv 644
list_to_crv 679
ellisomat 777
non_two_torsion_abscissa 812
ellisweierstrasspoint 903
get_polmodular 931
ellisogeny 1120
ellcompisog 1267
non_two_torsion_ordinate_char_not2 1267
isog_abscissa 1316
isog_ordinate 1316
ellisograph_a4a6 1449
ellisog_by_j 1526
ellisog_by_jt 1680
ellnfcompisog 1722
get_isog_vars 1764
QXQH_eval 1904
idealgen_minpoly 2226
stariter_hard 2226
stariter_easy 2240
contrib_weierstrass_pt 2611
ellisograph_r 2933
ellisograph_iso 3164
fill_LM 3276
nfispower_quo 3654
_degree 3780
distmat_pow 3843
etree_distmat 3843
etree_list 3843
isograph_p 3843
nfmkisomat 3843
ellisog_by_roots 4032
ellisog_by_Kohel 4200
isomat_find 4340
to_RgX 4760
RgH_eval 5040
isogeny_from_kernel_poly 5418
two_torsion_part 5418
first_three_power_sums 5425
make_velu_curve 5789
ellnf_charpoly 6188
ellisograph_Kohel_r 6237
a4a6_divpol 6426
ellisograph_Kohel_iso 6426
stariter 6468
RgXY_eval 7630
trivial_isogeny 7686
startor 8414
etree_distmatr 9170
etree_listr 9170
starlaw 18634
etree_nbnodes 19621
isomat_eq 22134

Generated by: LCOV version 1.14