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.0 lcov report (development 20459-9710128) Lines: 1375 1701 80.8 %
Date: 2017-04-28 05:33:48 Functions: 78 90 86.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
COPY 0
ECM_alloc 42
ECM_init 42
ECM_loop 66
FpE_add_i 2956656
INIT 27762
SHALLOWCOPY 0
STORE 92452
STOREi 9912
STOREu 82522
ZV_aff 12522
Z_ECM 0
Z_factor 4740304
Z_factor_limit 6942
Z_factor_until 24
Z_issmooth 0
Z_issmooth_fact 282811
Z_pollardbrent 0
absZ_factor 3291678
absZ_factor_limit 14022
aux_end 15408
check_res 1576240
core 2664
coreu 3702
coreu_fact 3702
ecm_elladd 99786
ecm_elladd0 102102
ecm_elladd2 2958
elldouble 18096
ellfacteur 306
ellmult 11718
factorint 12
factoru 3086170
factoru_sign 11123720
get_rule 87234
ifac_GC 0
ifac_check 0
ifac_checkprime 6078
ifac_core 12
ifac_crack 3090
ifac_decomp 894
ifac_defrag 180
ifac_delete 24474
ifac_divide 5724
ifac_factor_dbg 0
ifac_factoru 870
ifac_find 8766
ifac_insert_multiplet 384
ifac_ispowerful 6
ifac_isprime 7920
ifac_main 8712
ifac_moebius 18
ifac_moebiusu 1068
ifac_next 6042
ifac_print 0
ifac_read 42
ifac_realloc 0
ifac_resort 90
ifac_skip 12
ifac_sort_one 90
ifac_start 1200
ifac_start_hint 2964
ifac_whoiswho 3174
ifactor 4747282
ifactor_sign 8052982
is_357_power 1183182
is_kth_power 26580
is_pth_power 24300
ispowerful 1464
moebius 20668
moebiusu 51626
moebiusu_fact 0
nextprime 1741398
one_iter 13081357
pollardbrent 2862
pollardbrent_i 2862
precprime 42
rho_dbg 0
snextpr 1650912
special_primes 8364
squfof 1800
squfof_ambig 1980
tridiv_bound 7446
u_forprime_next_fast 382855974
uis_357_power 845292
uis_357_powermod 878706
unextprime 2143722
update_pow 288
uprecprime 30
utridiv_bound 10892698

Generated by: LCOV version 1.11