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 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 - ifactor1.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.1 lcov report (development 22708-0f0e6fe44) Lines: 1452 1812 80.1 %
Date: 2018-06-18 05:36:21 Functions: 87 100 87.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
COPY 0
SHALLOWCOPY 0
Z_ECM 0
Z_issmooth 0
Z_pollardbrent 0
ifac_GC 0
ifac_check 0
ifac_factor_dbg 0
ifac_print 0
ifac_realloc 0
rho_dbg 0
vecfactoroddu 0
vecsquarefreeu 0
ifac_ispowerful 7
factorint 14
ifac_skip 32
uprecprime 32
ifac_core 33
ECM_alloc 40
ECM_init 40
precprime 49
ECM_loop 66
Z_factor_until 84
ifac_read 88
ifac_resort 98
ifac_sort_one 98
ifac_defrag 196
ifac_moebius 196
ellfacteur 320
update_pow 381
ifac_insert_multiplet 405
uis_357_powermod_32bit_2 509
ifac_factoru 884
ifac_moebiusu 1068
ifac_decomp 1150
ifac_start 1416
ispowerful 1708
vecfactoroddu_i 1885
squfof 2050
squfof_ambig 2318
ecm_elladd2 2846
pollardbrent 3274
pollardbrent_i 3274
core 3276
ifac_start_hint 3450
ifac_crack 3564
ifac_whoiswho 3655
coreu 5506
coreu_fact 5506
ifac_divide 6580
ifac_next 6658
ifac_checkprime 6985
ifac_isprime 10031
ifac_main 10039
ifac_find 10159
special_primes 10404
Z_factor_limit 10689
uis_357_powermod_32bit_1 10880
ellmult 11252
ZV_aff 12190
vecfactorsquarefreeu 13678
vecfactoru 13790
vecfactoru_i 13881
STOREi 17114
elldouble 17413
moebius 22370
tridiv_bound 23200
absZ_factor_limit 26362
ifac_delete 28369
INIT 32169
aux_end 32234
is_pth_power 43051
moebiusu 63706
moebiusu_fact 70133
get_rule 83627
ecm_elladd 95618
ecm_elladd0 97856
STOREu 137857
STORE 154992
Z_issmooth_fact 188006
is_kth_power 256756
uis_357_power 983446
uis_357_powermod 1029336
is_357_power 1397525
snextpr 1607032
check_res 1867205
nextprime 2036215
FpE_add_i 2915928
unextprime 3722025
factoru 4533584
absZ_factor 4587550
Z_factor 6791816
ifactor 6802605
ifactor_sign 11416517
one_iter 13229643
utridiv_bound 15762489
factoru_sign 15917840
matsmalltrunc_init 32650670
matsmalltrunc_append 84493534
u_forprime_next_fast 436607761

Generated by: LCOV version 1.13