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 17707-04f73e4) Lines: 539 573 94.1 %
Date: 2015-03-30 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 91
cyc_pow 1232
cyc_pow_perm 5754
cyclicgroup 3892
dicyclicgroup 70
group_abelianHNF 329
group_abelianSNF 280
group_domain 4872
group_elts 56427
group_export 28
group_export_GAP 14
group_export_MAGMA 14
group_isA4S4 3598
group_isabelian 511
group_leftcoset 127477
group_order 287350
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 387121
grp_get_ord 665175
liftlistsubgroups 42497
liftsubgroup 26166
perm_commute 536683
perm_cycles 8736
perm_generate 6853
perm_mul_inplace2 7
perm_order 40978
perm_pow 5754
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 50260
vecsmall_duplicate 31684
vecsmall_duplicate_sorted 0
vecsmall_indexsort 93410
vecsmall_indexsortspec 10673052
vecsmall_sort 148527
vecsmall_sortspec 722146
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