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.16.2 lcov report (development 29115-f22e516b23) Lines: 1143 1222 93.5 %
Date: 2024-05-01 08:07:45 Functions: 108 115 93.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpX_issquare 115346
Q2_hyperell_lift 462
Q2_hyperell_regpoint 2863
Q2_hyperell_solve 2296
Q2_hyperell_solve_affine 2863
Qp_hyperell_solve_odd 57449
Qp_issquare 105525
RgVV_nb 8379
RgXV_cxeval 21315
RgXV_homogenous_evaldeg 5355
RgX_homogenous_evaldeg 19635
ZC_add_coeff 3206
ZC_shifti 17442
ZV_iseven 5908
ZV_isneg 90272
Z_factor_addprimes 1309
Z_quad_char 161
_factorbackmod 5614
_trace 117294
affine_apply 57449
basis 18940
bestS 441
bnfselmer 441
bnfselmerQ 812
cassels_Qp_solve 59745
cassels_oo_solve 532
cassels_oo_solve_i 532
casselspairing 2296
check_oncurve 42
den_remove 518
dim_selmer 8379
ell2cover 56
ell2pol 1729
ell2selmer 875
ell2selmer_basis 49
ellLS2image 875
ellabs 3913
elllocalimage 8379
ellrank 812
ellrank_flag 868
ellrank_get_nudur 98
ellrankinit 63
ellsearchtrivialpoints 875
elltwistequation 826
elltwistpoint 224
elltwistpoints 1645
enfsqrt 2296
first_divisor 643
get_kerval 245
get_row 490
gtoset_inplace 770
hilb2nf 259
hyperell_lift 1355
hyperell_local_solve 59745
hyperell_locally_soluble 0
hyperell_red 114898
hyperell_reg_point 116591
kernorm 875
kpmodsquares 785078
kpmodsquares1 1603735
lemma6 0
lemma6nf 0
lemma7 0
lemma7_aux 0
lemma7nf 5642
liftselmer 3338
liftselmer_cover 3570
liftselmerinit 6908
locally_soluble 259
makevbnf 854
matcassels 308
matselmersign 1750
nf2selmer_quad 245
nfC_prV_val 882
nfV_factorbackmod 441
nfV_zm_factorback 441
nf_hyperell_locally_soluble 259
nfhilbert 21
nfhilbert0 581
nfhilbertp 567
nfsqrt 6090
nfsqrt_safe 6090
polrootsmodpn 8379
prV_ZM_factorback 441
projratpointxz 4448
projratpointxz2 1749
psquare2nf 511
psquarenf 0
qf_disc_fact 7097
quad_char 140
quartic_H 2296
quartic_IJ 18395
quartic_cubic 12754
quartic_disc 4501
quartic_findunit 4501
quartic_hessiandd 2296
quartic_minim_all 7097
quarticinv_pol 6797
randS 189
randu 567
redquadric 7097
repres 252
selmerbasis 17442
selmersign 72478
setlgall 8379
to_ZX 4592
to_principal_unit 164024
tracematrix 19549
vbnf_discfactors 875
vecellabs 770
veckpmodsquares 16758
vecnfsqrtmod 2296
vecsmallbasis 875
zpsol 0
zpsolnf 5642

Generated by: LCOV version 1.14