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 - perm.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 20459-9710128) Lines: 587 630 93.2 %
Date: 2017-04-29 05:33:44 Functions: 68 71 95.8 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
abelian_group 144
cyc_pow 1476
cyc_pow_perm 0
cyclicgroup 3438
dicyclicgroup 66
group_abelianHNF 282
group_abelianSNF 240
group_domain 4704
group_elts 49302
group_export 24
group_export_GAP 12
group_export_MAGMA 12
group_isA4S4 3162
group_isabelian 780
group_leftcoset 109764
group_order 248010
group_perm_normalize 49242
group_quotient 3318
group_rightcoset 49242
group_set 43176
group_subgroup_isnormal 48
group_subgroups 3840
groupelts_abelian_group 0
groupelts_center 594
groupelts_conjclasses 852
groupelts_exponent 252
groupelts_set 9252
grp_get_gen 335232
grp_get_ord 574326
isperm 144
liftlistsubgroups 36594
liftsubgroup 22626
perm_commute 460056
perm_cycles 3096
perm_generate 5940
perm_mul_inplace2 6
perm_order 70428
perm_pow 5544
perm_relorder 95934
perm_sign 22248
perm_to_GAP 18
permorder 72
permsign 72
quo_get_coset 8688
quo_get_gen 57252
quotient_group 3312
quotient_perm 8688
quotient_subgroup_lift 22626
sgcmp 1314
subgroups_tableset 18
tableset_find_index 102
trivialgroup 23304
trivialsubgroups 23304
vec_insert 64836
vec_is1to1 2160
vec_isconst 4080
vecperm_orbits 684
vecperm_orbits_i 96456
vecsmall_duplicate 10184
vecsmall_duplicate_sorted 0
vecsmall_indexsort 1970149
vecsmall_indexsortspec 15392279
vecsmall_sort 4877670
vecsmall_sortspec 2393923
vecsmall_uniq 1152
vecsmall_uniq_sorted 1152
vecvecsmall_indexsort 18
vecvecsmall_max 114
vecvecsmall_search 11944434
vecvecsmall_sort 98556
vecvecsmall_sort_uniq 276

Generated by: LCOV version 1.11