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-bordeaux1.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.8.0 lcov report (development 16358-a11f489) Lines: 1371 1675 81.9 %
Date: 2014-04-11 Functions: 74 83 89.2 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1032 1503 68.7 %

Function Name Sort by function name Hit count Sort by hit count
COPY 0
FpE_add_i 226800
INIT 16115
SHALLOWCOPY 0
STORE 115287
STOREi 12418
STOREu 102859
ZV_aff 3680
Z_factor 907992
Z_factor_limit 3860
Z_factor_until 20
Z_issmooth 0
Z_issmooth_fact 149933
absi_factor 336020
absi_factor_limit 6415
alloc_scratch 21
aux_end 24400
check_res 1310561
core 220
coreu 122
ecm_elladd 25063
ecm_elladd0 25395
ecm_elladd2 684
elldouble 5054
ellfacteur 131
ellmult 3406
factorint 10
factoru 1535920
get_rule 20875
ifac_GC 0
ifac_check 0
ifac_checkprime 3510
ifac_core 19
ifac_crack 1771
ifac_decomp 366
ifac_defrag 150
ifac_delete 14141
ifac_divide 3194
ifac_factor_dbg 0
ifac_factoru 326
ifac_find 4970
ifac_insert_multiplet 214
ifac_ispowerful 5
ifac_isprime 4738
ifac_main 4898
ifac_moebius 185
ifac_moebiusu 712
ifac_next 3779
ifac_print 0
ifac_read 54
ifac_realloc 0
ifac_resort 75
ifac_skip 18
ifac_sort_one 75
ifac_start 1323
ifac_start_hint 1689
ifac_whoiswho 1841
ifactor 911882
ifactor_sign 1254317
is_357_power 986847
is_kth_power 21635
is_pth_power 19150
ispowerful 210
moebius 942
moebiusu 7994
nextprime 1366242
pollardbrent 1569
precprime 20
rho_dbg 0
snextpr 154104
special_primes 5965
squfof 959
squfof_ambig 1099
tridiv_bound 18655
u_forprime_next_fast 242033327
uis_357_power 700386
uis_357_powermod 722469
uis_357_powermod_32bit_1 8572
uis_357_powermod_32bit_2 417
unextprime 3139344
update_pow 292
uprecprime 12
utridiv_bound 1066284

Generated by: LCOV version 1.9