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-bordeaux1.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.8.0 lcov report (development 17240-4611fa9) Lines: 539 573 94.1 %
Date: 2014-12-21 Functions: 61 64 95.3 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 295 337 87.5 %

Function Name Sort by function name Hit count Sort by hit count
abelian_group 42
cyc_pow 1232
cyc_pow_perm 5670
cyclicgroup 3892
dicyclicgroup 70
group_abelianHNF 329
group_abelianSNF 280
group_domain 4872
group_elts 56350
group_export 28
group_export_GAP 14
group_export_MAGMA 14
group_isA4S4 3598
group_isabelian 511
group_leftcoset 127477
group_order 287273
group_perm_normalize 57365
group_quotient 3780
group_rightcoset 57365
group_set 50099
group_subgroup_isnormal 56
group_subgroups 4354
groupelts_abelian_group 0
groupelts_center 693
groupelts_set 10626
grp_get_gen 387044
grp_get_ord 665021
liftlistsubgroups 42497
liftsubgroup 26166
perm_commute 536683
perm_cycles 8624
perm_generate 6853
perm_mul_inplace2 7
perm_order 40894
perm_pow 5670
perm_relorder 111167
perm_to_GAP 21
quo_get_coset 9982
quo_get_gen 66087
quotient_group 3773
quotient_perm 9982
quotient_subgroup_lift 26166
sgcmp 1253
subgroups_tableset 14
tableset_find_index 63
trivialgroup 26922
trivialsubgroups 26922
vec_insert 53704
vec_is1to1 2128
vec_isconst 2527
vecperm_orbits 546
vecperm_orbits_i 50064
vecsmall_duplicate 7657
vecsmall_duplicate_sorted 0
vecsmall_indexsort 67915
vecsmall_indexsortspec 8548997
vecsmall_sort 144335
vecsmall_sortspec 687943
vecsmall_uniq 1036
vecsmall_uniq_sorted 1036
vecvecsmall_indexsort 0
vecvecsmall_search 10785992
vecvecsmall_sort 114800
vecvecsmall_sort_uniq 210

Generated by: LCOV version 1.9