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.1 lcov report (development 22708-0f0e6fe44) Lines: 653 700 93.3 %
Date: 2018-06-18 05:36:21 Functions: 75 79 94.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
cyc_pow_perm 0
groupelts_abelian_group 0
groupelts_exponent 0
vecsmall_duplicate_sorted 0
perm_mul_inplace2 7
group_export_GAP 14
group_export_MAGMA 14
perm_to_GAP 21
vecvecsmall_indexsort 21
group_export 28
group_subgroup_isnormal 56
permorder 91
permsign 98
vecvecsmall_max 133
abelian_group 189
group_abelianSNF 280
group_abelianHNF 329
vecvecsmall_sort_uniq 392
subgroups_tableset 490
groupelts_center 693
vecperm_orbits 826
group_isabelian 854
dicyclicgroup 973
vecsmall_uniq 1372
vecsmall_uniq_sorted 1449
perm_to_Z 1680
perm_to_Z_inplace 1701
permtonum 1708
isperm 1890
cyc_pow 1891
tableset_find_index 1981
vec_is1to1 2731
galois_elts_sorted 3864
perm_cycles 4055
conjclasses_repr 4249
groupelts_conjclasses 4249
group_to_cc 4263
group_isA4S4 4942
quotient_group 5117
group_quotient 5124
vec_isconst 5798
Z_to_perm 5915
numtoperm 5915
group_subgroups 6188
group_domain 6587
cyclicgroup 7049
perm_generate 8071
perm_pow 8359
quo_get_coset 12215
quotient_perm 12215
groupelts_set 13188
vecsmall_duplicate 14355
sgcmp 17206
liftsubgroup 29498
quotient_subgroup_lift 29498
trivialgroup 30744
trivialsubgroups 30744
liftlistsubgroups 44884
group_set 58338
group_perm_normalize 60480
group_rightcoset 60480
group_elts 70995
quo_get_gen 76328
vec_insert 97538
vecvecsmall_sort 121072
perm_relorder 122906
group_leftcoset 136451
perm_sign 177379
group_order 318550
perm_order 388920
grp_get_gen 432699
perm_commute 536711
vecperm_orbits_i 571178
grp_get_ord 738551
vecsmall_indexsort 2898531
vecsmall_sort 18136154
vecvecsmall_search 19730179
vecsmall_indexsortspec 21080431
vecsmall_sortspec 97156712

Generated by: LCOV version 1.13