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 20291-5fbfea9) Lines: 573 606 94.6 %
Date: 2017-02-25 05:49:34 Functions: 67 69 97.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
abelian_group 168
cyc_pow 1708
cyc_pow_perm 9114
cyclicgroup 3990
dicyclicgroup 77
group_abelianHNF 329
group_abelianSNF 280
group_domain 5467
group_elts 57407
group_export 28
group_export_GAP 14
group_export_MAGMA 14
group_isA4S4 3668
group_isabelian 910
group_leftcoset 127946
group_order 289065
group_perm_normalize 57414
group_quotient 3850
group_rightcoset 57414
group_set 50288
group_subgroup_isnormal 56
group_subgroups 4452
groupelts_abelian_group 0
groupelts_center 693
groupelts_conjclasses 994
groupelts_exponent 294
groupelts_set 10759
grp_get_gen 390600
grp_get_ord 669305
isperm 84
liftlistsubgroups 42665
liftsubgroup 26355
perm_commute 536732
perm_cycles 12705
perm_generate 6916
perm_mul_inplace2 7
perm_order 77980
perm_pow 9114
perm_relorder 111818
perm_to_GAP 21
permorder 84
quo_get_coset 10108
quo_get_gen 66661
quotient_group 3843
quotient_perm 10108
quotient_subgroup_lift 26355
sgcmp 1267
subgroups_tableset 14
tableset_find_index 63
trivialgroup 27139
trivialsubgroups 27139
vec_insert 75642
vec_is1to1 2513
vec_isconst 4739
vecperm_orbits 798
vecperm_orbits_i 91483
vecsmall_duplicate 13715
vecsmall_duplicate_sorted 0
vecsmall_indexsort 2314371
vecsmall_indexsortspec 18030495
vecsmall_sort 4685308
vecsmall_sortspec 1524267
vecsmall_uniq 1344
vecsmall_uniq_sorted 1344
vecvecsmall_indexsort 21
vecvecsmall_max 133
vecvecsmall_search 13935173
vecvecsmall_sort 114926
vecvecsmall_sort_uniq 322

Generated by: LCOV version 1.11