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 22303-eb3e11d) Lines: 653 701 93.2 %
Date: 2018-04-21 06:16:28 Functions: 75 79 94.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Z_to_perm 5915
abelian_group 189
conjclasses_repr 4109
cyc_pow 1891
cyc_pow_perm 0
cyclicgroup 6993
dicyclicgroup 945
galois_elts_sorted 3738
group_abelianHNF 329
group_abelianSNF 280
group_domain 6559
group_elts 70638
group_export 28
group_export_GAP 14
group_export_MAGMA 14
group_isA4S4 4928
group_isabelian 917
group_leftcoset 136402
group_order 318137
group_perm_normalize 60459
group_quotient 5110
group_rightcoset 60459
group_set 58121
group_subgroup_isnormal 56
group_subgroups 6167
group_to_cc 4123
groupelts_abelian_group 0
groupelts_center 693
groupelts_conjclasses 4109
groupelts_exponent 0
groupelts_set 13167
grp_get_gen 432188
grp_get_ord 737606
isperm 1890
liftlistsubgroups 44877
liftsubgroup 29477
numtoperm 5915
perm_commute 536732
perm_cycles 4034
perm_generate 8064
perm_mul_inplace2 7
perm_order 382620
perm_pow 8331
perm_relorder 122696
perm_sign 172054
perm_to_GAP 21
perm_to_Z 1680
perm_to_Z_inplace 1701
permorder 91
permsign 98
permtonum 1708
quo_get_coset 12194
quo_get_gen 76251
quotient_group 5103
quotient_perm 12194
quotient_subgroup_lift 29477
sgcmp 16646
subgroups_tableset 462
tableset_find_index 1897
trivialgroup 30716
trivialsubgroups 30716
vec_insert 97538
vec_is1to1 2710
vec_isconst 5735
vecperm_orbits 847
vecperm_orbits_i 559547
vecsmall_duplicate 14450
vecsmall_duplicate_sorted 0
vecsmall_indexsort 2877255
vecsmall_indexsortspec 20997174
vecsmall_sort 17379227
vecsmall_sortspec 95697851
vecsmall_uniq 1380
vecsmall_uniq_sorted 1450
vecvecsmall_indexsort 21
vecvecsmall_max 133
vecvecsmall_search 19730179
vecvecsmall_sort 121030
vecvecsmall_sort_uniq 392

Generated by: LCOV version 1.11