Reading database from ...
------------------------------------------ ------ ------ ------ ------ ------
File stmt bran cond sub total
------------------------------------------ ------ ------ ------ ------ ------
tests/sort 94.7 n/a n/a 80.0 91.6
Total 94.7 n/a n/a 80.0 91.6
------------------------------------------ ------ ------ ------ ------ ------
Run: ...
Perl version: ...
OS: ...
Start: ...
Finish: ...
tests/sort
line err stmt bran cond sub code
1 #!/usr/bin/perl -w
2
3 use strict;
4
5 1 my %sort = (
6 B => \&backwards,
7 F => \&forwards
8 );
9
10 sub backwards {
11 9 9 return $b cmp $a;
12 }
13
14 sub forwards {
15 *** 0 0 return $a cmp $b;
16 }
17
18 sub GetAlgorithm {
19 1 1 my ($alg) = @_;
20 1 return $sort{$alg};
21 }
22
23 1 my @list = qw( a d e c g );
24
25 # my $alg = GetAlgorithm(('B', 'F')[int(rand(2))]);
26 1 my $alg = GetAlgorithm(('B', 'F')[0]);
27
28 1 @list = sort {&{$alg}} @list;
9
9
29
30 use Data::Dumper;
31
32 1 print STDERR Dumper(\@list);
33
34 package Failure;
35
36 sub fail {
37 1 1 my @x = 1 .. 5;
38 1 my @y = sort { Failure->xyz( $a, $b ) } @x;
4
39 }
40
41 sub xyz {
42 4 4 my $self = shift;
43 4 my ($a, $b) = @_;
44 4 $a <=> $b;
45 }
46 package main;
47
48 1 my @l = Failure->fail;
49
50 1 print STDERR Dumper(\@l);
Covered Subroutines
-------------------
Subroutine Count Location
------------ ----- -------------
GetAlgorithm 1 tests/sort:19
backwards 9 tests/sort:11
fail 1 tests/sort:37
xyz 4 tests/sort:42
Uncovered Subroutines
---------------------
Subroutine Count Location
------------ ----- -------------
forwards 0 tests/sort:15