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 20422-b487f4d) Lines: 587 630 93.2 %
Date: 2017-03-22 05:51:54 Functions: 68 71 95.8 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
abelian_group 168
cyc_pow 1722
cyc_pow_perm 0
cyclicgroup 4011
dicyclicgroup 77
group_abelianHNF 329
group_abelianSNF 280
group_domain 5488
group_elts 57519
group_export 28
group_export_GAP 14
group_export_MAGMA 14
group_isA4S4 3689
group_isabelian 910
group_leftcoset 128058
group_order 289345
group_perm_normalize 57449
group_quotient 3871
group_rightcoset 57449
group_set 50372
group_subgroup_isnormal 56
group_subgroups 4480
groupelts_abelian_group 0
groupelts_center 693
groupelts_conjclasses 994
groupelts_exponent 294
groupelts_set 10794
grp_get_gen 391104
grp_get_ord 670047
isperm 168
liftlistsubgroups 42693
liftsubgroup 26397
perm_commute 536732
perm_cycles 3612
perm_generate 6930
perm_mul_inplace2 7
perm_order 82166
perm_pow 6468
perm_relorder 111923
perm_sign 29385
perm_to_GAP 21
permorder 84
permsign 84
quo_get_coset 10136
quo_get_gen 66794
quotient_group 3864
quotient_perm 10136
quotient_subgroup_lift 26397
sgcmp 1533
subgroups_tableset 21
tableset_find_index 119
trivialgroup 27188
trivialsubgroups 27188
vec_insert 75642
vec_is1to1 2520
vec_isconst 4760
vecperm_orbits 798
vecperm_orbits_i 115961
vecsmall_duplicate 13981
vecsmall_duplicate_sorted 0
vecsmall_indexsort 2314395
vecsmall_indexsortspec 17998383
vecsmall_sort 5985089
vecsmall_sortspec 2828602
vecsmall_uniq 1344
vecsmall_uniq_sorted 1344
vecvecsmall_indexsort 21
vecvecsmall_max 133
vecvecsmall_search 13935173
vecvecsmall_sort 114982
vecvecsmall_sort_uniq 322

Generated by: LCOV version 1.11