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.14.0 lcov report (development 27920-e0b3650d81) Lines: 943 955 98.7 %
Date: 2022-08-07 07:33:29 Functions: 80 80 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
non_two_torsion_ordinate_char2 49
ellnf_goodl_l 56
ellnf_modpoly 56
ellnf_isomat 63
ellnf_prime_degree 63
ellisogenyapply 70
get_isomat 77
derivhasse 98
ellisograph_dummy 154
isomatdbl 154
mkisomatdbl 154
ellQ_goodl_l 182
isomat_perm 238
isog_identity 252
invisogeny_a4a6 266
isogeny_a4a6 266
ellnf_isocrv 294
ellQ_goodl 308
corr 336
elkies98 336
isogeny_from_kernel_point 427
divy 448
mkisomat 455
ellQ_exceptional_iso 462
ellQ_isomat 462
update_isogeny_polys 532
ellisograph_p 560
twistisogeny 560
ellisog_by_j 616
list_to_crv 623
ellisomat 721
ellisog_by_jt 770
get_polmodular 812
non_two_torsion_abscissa 812
ellisweierstrasspoint 903
ellisogeny 1092
ellisograph_a4a6 1092
ellisograph_r 1113
fill_LM 1134
non_two_torsion_ordinate_char_not2 1253
ellnf_get_degree 1260
ellcompisog 1267
isog_abscissa 1302
isog_ordinate 1302
ellisograph_iso 1344
distmat_pow 1694
ellnfcompisog 1694
etree_distmat 1694
etree_list 1694
isograph_p 1694
nfmkisomat 1694
get_isog_vars 1736
ellnf_charpoly 1743
startor 1743
isomat_find 1750
QXQH_eval 1792
contrib_weierstrass_pt 1792
nfispower_quo 1911
ellisog_by_roots 2345
ellisog_by_Kohel 2513
RgXY_eval 3080
ellisograph_Kohel_r 3311
trivial_isogeny 3388
starlaw 3486
a4a6_divpol 3500
ellisograph_Kohel_iso 3500
isogeny_from_kernel_poly 3696
two_torsion_part 3696
first_three_power_sums 3703
_degree 3780
make_velu_curve 4067
etree_distmatr 4424
etree_listr 4424
to_RgX 4480
RgH_eval 5040
isomat_eq 8841
etree_nbnodes 10129

Generated by: LCOV version 1.13