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 16791-0d1274a) Lines: 539 573 94.1 %
Date: 2014-09-16 Functions: 61 64 95.3 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 296 337 87.8 %

Function Name Sort by function name Hit count Sort by hit count
abelian_group 30
cyc_pow 855
cyc_pow_perm 4020
cyclicgroup 2780
dicyclicgroup 50
group_abelianHNF 235
group_abelianSNF 200
group_domain 3480
group_elts 40155
group_export 20
group_export_GAP 10
group_export_MAGMA 10
group_isA4S4 2570
group_isabelian 365
group_leftcoset 91055
group_order 205100
group_perm_normalize 40975
group_quotient 2700
group_rightcoset 40975
group_set 35785
group_subgroup_isnormal 40
group_subgroups 3110
groupelts_abelian_group 0
groupelts_center 495
groupelts_set 7590
grp_get_gen 276365
grp_get_ord 474825
liftlistsubgroups 30355
liftsubgroup 18690
perm_commute 383345
perm_cycles 6005
perm_generate 4895
perm_mul_inplace2 5
perm_order 29200
perm_pow 4020
perm_relorder 79405
perm_to_GAP 15
quo_get_coset 7130
quo_get_gen 47205
quotient_group 2695
quotient_perm 7130
quotient_subgroup_lift 18690
sgcmp 895
subgroups_tableset 10
tableset_find_index 45
trivialgroup 19230
trivialsubgroups 19230
vec_insert 38360
vec_is1to1 1495
vec_isconst 1790
vecperm_orbits 390
vecperm_orbits_i 35595
vecsmall_duplicate 5277
vecsmall_duplicate_sorted 0
vecsmall_indexsort 43320
vecsmall_indexsortspec 6122608
vecsmall_sort 46247
vecsmall_sortspec 353440
vecsmall_uniq 748
vecsmall_uniq_sorted 748
vecvecsmall_indexsort 0
vecvecsmall_search 7704280
vecvecsmall_sort 82000
vecvecsmall_sort_uniq 150

Generated by: LCOV version 1.9