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.1 lcov report (development 28676-df828f1c94) Lines: 1112 1190 93.4 %
Date: 2023-08-26 07:54:43 Functions: 105 112 93.8 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
hyperell_locally_soluble 0
lemma6 0
lemma6nf 0
lemma7 0
lemma7_aux 0
psquarenf 0
zpsol 0
nfhilbert 21
check_oncurve 42
ell2selmer_basis 49
ell2cover 56
ellrankinit 63
ellrank_get_nudur 98
quad_char 140
Z_quad_char 161
randS 161
elltwistpoint 224
get_kerval 245
nf2selmer_quad 245
repres 252
hilb2nf 259
locally_soluble 259
nf_hyperell_locally_soluble 259
matcassels 301
bestS 434
bnfselmer 434
nfV_factorbackmod 434
nfV_zm_factorback 434
prV_ZM_factorback 434
Q2_hyperell_lift 469
get_row 483
randu 483
psquare2nf 511
den_remove 518
cassels_oo_solve 546
cassels_oo_solve_i 546
nfhilbertp 567
nfhilbert0 581
first_divisor 623
vecellabs 756
bnfselmerQ 791
ellrank 798
elltwistequation 812
makevbnf 840
ellrank_flag 854
ell2selmer 861
ellLS2image 861
ellsearchtrivialpoints 861
kernorm 861
vecsmallbasis 861
nfC_prV_val 868
hyperell_lift 1317
elltwistpoints 1617
gtoset_inplace 1617
projratpointxz2 1694
ell2pol 1701
matselmersign 1722
Q2_hyperell_solve 2296
casselspairing 2296
enfsqrt 2296
quartic_H 2296
quartic_hessiandd 2296
vecnfsqrtmod 2296
Q2_hyperell_regpoint 2827
Q2_hyperell_solve_affine 2827
ZC_add_coeff 3206
liftselmer 3339
liftselmer_cover 3591
ellabs 3898
projratpointxz 4353
quartic_disc 4508
quartic_findunit 4508
to_ZX 4592
RgXV_homogenous_evaldeg 5375
_factorbackmod 5558
lemma7nf 5642
zpsolnf 5642
ZV_iseven 5908
nfsqrt 6097
nfsqrt_safe 6097
quarticinv_pol 6804
liftselmerinit 6930
quartic_minim_all 7091
redquadric 7091
RgVV_nb 8316
dim_selmer 8316
elllocalimage 8316
polrootsmodpn 8316
setlgall 8316
quartic_cubic 12761
veckpmodsquares 16632
ZC_shifti 17528
selmerbasis 17528
quartic_IJ 18403
basis 18998
tracematrix 19557
RgX_homogenous_evaldeg 19716
RgXV_cxeval 21273
Qp_hyperell_solve_odd 57753
affine_apply 57753
cassels_Qp_solve 60049
hyperell_local_solve 60049
selmersign 72030
ZV_isneg 89026
Qp_issquare 105315
hyperell_red 115506
FpX_issquare 115954
hyperell_reg_point 117333
_trace 117342
to_principal_unit 162715
kpmodsquares 782838
kpmodsquares1 1597204

Generated by: LCOV version 1.14