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 - ellrank.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.0 lcov report (development 29806-4d001396c7) Lines: 1153 1236 93.3 %
Date: 2024-12-22 09:08:28 Functions: 108 115 93.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpX_issquare 119336
Q2_hyperell_lift 490
Q2_hyperell_regpoint 2947
Q2_hyperell_solve 2366
Q2_hyperell_solve_affine 2947
Qp_hyperell_solve_odd 59290
Qp_issquare 107604
RgVV_nb 8540
RgXV_cxeval 21630
RgXV_homogenous_evaldeg 5425
RgX_homogenous_evaldeg 19915
ZC_add_coeff 3206
ZC_shifti 17652
ZV_iseven 5908
ZV_isneg 91182
Z_factor_addprimes 1337
Z_quad_char 161
_factorbackmod 5614
_trace 118974
affine_apply 59290
basis 19178
bestS 441
bnfselmer 441
bnfselmerQ 826
cassels_Qp_solve 61656
cassels_oo_solve 602
cassels_oo_solve_i 602
casselspairing 2366
check_oncurve 42
den_remove 518
dim_selmer 8540
ell2cover 56
ell2pol 1757
ell2selmer 889
ell2selmer_basis 49
ellLS2image 889
ellabs 3913
elllocalimage 8540
ellrank 826
ellrank_flag 882
ellrank_get_nudur 98
ellrankinit 63
ellsearchtrivialpoints 889
elltwistequation 840
elltwistpoint 224
elltwistpoints 1673
enfsqrt 2366
first_core_prime 972
get_kerval 259
get_row 490
gtoset_inplace 784
hilb2nf 259
hyperell_lift 1432
hyperell_local_solve 61656
hyperell_locally_soluble 0
hyperell_red 118580
hyperell_reg_point 121659
kernorm 889
kpmodsquares 794248
kpmodsquares1 1626751
lemma6 0
lemma6nf 0
lemma7 0
lemma7_aux 0
lemma7nf 5642
liftselmer 3373
liftselmer_cover 3640
liftselmerinit 7013
locally_soluble 259
makevbnf 868
matcassels 315
matselmersign 1778
nf2selmer_quad 259
nfC_prV_val 882
nfV_factorbackmod 441
nfV_zm_factorback 441
nf_hyperell_locally_soluble 259
nfhilbert 21
nfhilbert0 581
nfhilbertp 567
nfsqrt 6230
nfsqrt_safe 6230
polrootsmodpn 8540
prV_ZM_factorback 441
projratpointxz 4504
projratpointxz2 1784
psquare2nf 511
psquarenf 0
qf_disc_fact 7202
quad_char 140
quartic_H 2366
quartic_IJ 18780
quartic_cubic 13090
quartic_disc 4606
quartic_findunit 4606
quartic_hessiandd 2366
quartic_minim_all 7202
quarticinv_pol 6972
randS 189
randu 567
redquadric 7202
repres 252
selmerbasis 17652
selmersign 72933
setlgall 8540
to_ZX 4732
to_principal_unit 165718
tracematrix 19829
vbnf_discfactors 889
vecellabs 784
veckpmodsquares 17080
vecnfsqrtmod 2366
vecsmallbasis 889
zpsol 0
zpsolnf 5642

Generated by: LCOV version 1.16