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 21350-3349c1d) Lines: 609 657 92.7 %
Date: 2017-11-21 06:21:18 Functions: 70 74 94.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
cyc_pow_perm 0
groupelts_abelian_group 0
groupelts_exponent 0
vecsmall_duplicate_sorted 0
perm_mul_inplace2 7
group_export_GAP 14
group_export_MAGMA 14
perm_to_GAP 21
vecvecsmall_indexsort 21
group_export 28
group_subgroup_isnormal 56
permorder 84
permsign 84
vecvecsmall_max 133
isperm 168
abelian_group 189
group_abelianSNF 280
vecvecsmall_sort_uniq 322
group_abelianHNF 329
subgroups_tableset 462
groupelts_center 693
vecperm_orbits 805
group_isabelian 917
dicyclicgroup 945
vecsmall_uniq 1380
vecsmall_uniq_sorted 1415
cyc_pow 1883
tableset_find_index 1897
vec_is1to1 2660
galois_elts_sorted 3738
perm_cycles 4018
conjclasses_repr 4109
groupelts_conjclasses 4109
group_to_cc 4123
group_isA4S4 4914
quotient_group 5089
group_quotient 5096
vec_isconst 5761
group_subgroups 6146
group_domain 6545
cyclicgroup 6979
perm_generate 8057
perm_pow 8302
quo_get_coset 12173
quotient_perm 12173
groupelts_set 13146
vecsmall_duplicate 13564
sgcmp 16646
liftsubgroup 29456
quotient_subgroup_lift 29456
trivialgroup 30688
trivialsubgroups 30688
liftlistsubgroups 44870
group_set 58114
group_perm_normalize 60438
group_rightcoset 60438
group_elts 70609
vec_insert 75642
quo_get_gen 76174
vecvecsmall_sort 120960
perm_relorder 122654
group_leftcoset 136353
perm_sign 182408
group_order 318024
perm_order 382620
grp_get_gen 431956
perm_commute 536732
vecperm_orbits_i 569836
grp_get_ord 737289
vecsmall_indexsort 2760733
vecvecsmall_search 13935600
vecsmall_sort 17060404
vecsmall_indexsortspec 20595792
vecsmall_sortspec 87551795

Generated by: LCOV version 1.11