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 - ellsea.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.0 lcov report (development 29804-254f602fce) Lines: 1208 1260 95.9 %
Date: 2024-12-18 09:08:59 Functions: 94 97 96.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpXQ_elldivpol 0
Fp_elldivpol 0
Zq_sqrt 0
Fq_ellcard_CM 14
Zq_divexact 14
Zq_pval 14
find_CM 14
list_singular_discs 14
vecpoints_to_vecx 14
ellmodulareqn 35
a4a6t_from_J 49
find_isogenous_from_J 49
Fq_polmodular_eval 70
find_trace_lp1_roots 70
get_seadata 91
seadata_filename 91
corr 98
Fq_to_Flx 122
RgXY_deflatex 168
Flxq_find_eigen_Frobenius 371
Flxq_find_eigen_value_power 371
Flxq_elldivpolmod 390
find_eigen_value_oneroot 504
find_trace_one_root 539
Flxq_study_eqn 678
Flxq_elldivpolmod_init 761
separation 910
match_and_sort 966
Fp_ellcard_SEA 973
get_FqE_group 980
champion 1015
get_bound_bsgs 1015
Zq_inv 1036
Fq_ellcard_SEA 1064
Flxq_rhs 1132
FqX_homogenous_div 1295
Flxq_elldivpol34 1522
FqX_numer_isog_abscissa 1540
Fq_elldivpol2 1540
Fq_elldivpol2d 1540
find_kernel_power 1540
BSGS_pre 1820
compute_diff 1820
multiple_crt 1820
possible_traces 1820
get_lgatkin 1925
find_isogenous_from_Atkin 2576
Fq_ellj 2604
Zq_ellj 2688
add_atkin 4109
find_trace_Atkin 4711
Fq_elldivpolmod 4851
find_isogenous_from_canonical 4879
find_trace_Elkies_power 5208
Fq_find_eigen_value_power 5586
find_eigen_value_power 5957
Fq_find_eigen_Frobenius 6090
FqX_homogenous_eval 6181
Fq_elldivpolmod_close 6461
compute_u 6573
ZqXn_WNewton 7126
Zq_Weierstrass 7126
find_isogenous 7511
a4a6t 8890
find_kernel 8939
Fp_study_eqn 8988
list_to_pol 9968
seadata_parse 9968
Fq_study_eqn 9989
find_trace 10003
get_modular_eqn 10003
study_modular_eqn 10003
seadata_cache 10024
Fq_elldivpolmod_init 10551
divpol_free 11312
divpolmod_init 11312
meqn_j 11606
cmp_atkin 17276
rhs 17670
FqX_invlift1 19411
FqX_invsqrtlift1 19411
Fq_elldivpol34 21102
Fq_ellyn 24451
ZqX_integ2Xn 26537
FqX_mulhigh 38822
FqX_mulhigh_i 38822
divpol_ff 88214
Zq_div 98441
Zq_divu_safe 120204
divpol_f2 145208
FqX_shift 164381
set_cost 182616
divpol 188048
pari_get_seadata 324524
pari_set_seadata 326134
value 369894
cost 459375

Generated by: LCOV version 1.16