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 20916-a74d914) Lines: 594 637 93.2 %
Date: 2017-08-18 06:23:59 Functions: 69 72 95.8 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
abelian_group 189
conjclasses_repr 1505
cyc_pow 1883
cyc_pow_perm 0
cyclicgroup 6979
dicyclicgroup 945
group_abelianHNF 329
group_abelianSNF 280
group_domain 6713
group_elts 70777
group_export 28
group_export_GAP 14
group_export_MAGMA 14
group_isA4S4 4914
group_isabelian 917
group_leftcoset 136353
group_order 318192
group_perm_normalize 60438
group_quotient 5096
group_rightcoset 60438
group_set 58114
group_subgroup_isnormal 56
group_subgroups 6146
groupelts_abelian_group 0
groupelts_center 693
groupelts_conjclasses 4130
groupelts_exponent 504
groupelts_set 13146
grp_get_gen 432292
grp_get_ord 737625
isperm 168
liftlistsubgroups 44870
liftsubgroup 29456
perm_commute 536732
perm_cycles 4018
perm_generate 8057
perm_mul_inplace2 7
perm_order 384986
perm_pow 8302
perm_relorder 122654
perm_sign 29436
perm_to_GAP 21
permorder 84
permsign 84
quo_get_coset 12173
quo_get_gen 76174
quotient_group 5089
quotient_perm 12173
quotient_subgroup_lift 29456
sgcmp 16646
subgroups_tableset 462
tableset_find_index 1897
trivialgroup 30688
trivialsubgroups 30688
vec_insert 75642
vec_is1to1 2660
vec_isconst 5558
vecperm_orbits 805
vecperm_orbits_i 419245
vecsmall_duplicate 12654
vecsmall_duplicate_sorted 0
vecsmall_indexsort 2928071
vecsmall_indexsortspec 20734420
vecsmall_sort 30999544
vecsmall_sortspec 192015510
vecsmall_uniq 1380
vecsmall_uniq_sorted 1387
vecvecsmall_indexsort 21
vecvecsmall_max 133
vecvecsmall_search 13935173
vecvecsmall_sort 120960
vecvecsmall_sort_uniq 322

Generated by: LCOV version 1.11