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