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 - ifactor1.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.12.0 lcov report (development 23008-54b2e2f01) Lines: 1452 1807 80.4 %
Date: 2018-09-20 05:37:46 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 3283
ifac_start_hint 3450
ifac_crack 3564
ifac_whoiswho 3655
coreu 5513
coreu_fact 5513
ifac_divide 6580
ifac_next 6658
ifac_checkprime 6985
ifac_isprime 10031
ifac_main 10039
ifac_find 10159
special_primes 10404
Z_factor_limit 10703
uis_357_powermod_32bit_1 10880
ellmult 11252
ZV_aff 12190
vecfactorsquarefreeu 13678
vecfactoru 14280
vecfactoru_i 14371
STOREi 17114
elldouble 17413
moebius 22361
tridiv_bound 23201
absZ_factor_limit 26418
ifac_delete 28369
INIT 32169
aux_end 32235
moebiusu 39084
is_pth_power 43051
moebiusu_fact 70182
get_rule 83627
ecm_elladd 95618
ecm_elladd0 97856
STOREu 137859
STORE 154994
Z_issmooth_fact 188685
is_kth_power 259570
uis_357_power 997614
uis_357_powermod 1038352
is_357_power 1411693
snextpr 1607032
check_res 1882332
nextprime 2036143
FpE_add_i 2915928
unextprime 3732980
factoru 4550056
absZ_factor 4591827
Z_factor 6787709
ifactor 6798511
ifactor_sign 11416757
one_iter 13243690
utridiv_bound 15769026
factoru_sign 15934545
matsmalltrunc_init 32656186
matsmalltrunc_append 84501486
u_forprime_next_fast 437588439

Generated by: LCOV version 1.13