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 - ecpp.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.12.0 lcov report (development 23171-a5c0ed393) Lines: 633 682 92.8 %
Date: 2018-10-20 05:38:07 Functions: 84 86 97.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Dmq_get_D 0
timer_record 0
cert_out 7
magma_out 14
primo_out 14
ecppisvalid 28
ecppisvalid_i 28
ecppexport 35
ecpp_flattencert 42
ecpp_step2 42
isprimeECPP 42
polmodular_db_init_allinv 42
cert_get_T 49
cert_get_lambda 49
allh 63
ecpp0 63
ecpp_disclist_init 63
ecpp_param_set 63
ecpp_primelist_init 63
ecpp_step1 63
primorial_vec 63
ecpp 84
cert_get_J 98
cert_get_x 154
cert_get_D 168
cert_get_E 168
j0_find_g 182
cert_get_q 196
Nq_isvalid 322
realgenusfield 399
cert_get_a6 469
D_polclass 525
cert_get_m 686
cert_get_s 686
primo_printval 721
Dfac_to_p 924
Dfac_to_roots 924
FpX_classtower_oneroot 924
NDmqg_get_N 924
NDmqg_get_g 924
NDmqg_get_m 924
NDmqg_get_q 924
NDmqg_get_sqrt 924
find_EP 924
mkNDmqg 924
Fp_ellfromj 973
N_downrun 980
ecpp_param_get_disclist 980
ecpp_param_get_maxpcdg 980
tunevec_batchsize 980
cert_get_P 1113
cert_get_a4 1274
cert_get_t 1344
NqE_check 2142
cert_get_N 2184
sort_Dmq_by_cnum 2198
Dmbatch_factor_Dmqvec 3409
Dmqvec_slice 3409
Dmvec_batchfactor 3409
ecpp_param_get_primorial_vec 3409
ecpp_qlo 3409
sort_NDmq_by_D 3591
ecpp_param_get_tune 4389
tunevec 4389
tunevec_tdivbd 4389
Dmq_get_h 4396
FpJ_is_inf 4606
zv_binsearch0 6818
NDmqg_get_D 7182
NDmqg_get_Dinfo 8106
NUV_find_m 10416
gained_bits 10934
lessthan_qlo 12194
Dmq_isgoodq 19250
D_find_discsqrt 40040
sort_Dmq_by_q 55678
D_collectcards 535584
ecpp_param_get_primelist 536606
mkDinfo 1895915
Dinfo_get_bi 21023184
Dinfo_get_h 28061362
Dinfo_get_Dfac 28594398
sort_disclist 28726999
D_get_wD 57465009
Dinfo_get_pd 57609895
Dinfo_get_D 57997688

Generated by: LCOV version 1.13