=head1 VERSION
-Version 3.05
+Version 3.06
=cut
-$VERSION = '3.05';
+$VERSION = '3.06';
=head1 DESCRIPTION
$self->_select( order => sub { $_->{elapsed} } );
},
new => sub {
- $self->_select(
- order => sub {
- ( $_->{total_failures} || 0 )
- + ( $_->{total_passes} || 0 );
- }
- );
+ $self->_select( order => sub { -$_->{mtime} } );
},
old => sub {
- $self->_select(
- order => sub {
- -( ( $_->{total_failures} || 0 )
- + ( $_->{total_passes} || 0 ) );
- }
- );
+ $self->_select( order => sub { $_->{mtime} } );
},
save => sub {
$self->{should_save}++;
# Select
for my $test ( sort keys %$tests ) {
+ next unless -f $test;
local $_ = $tests->{$test};
push @got, $test if $where->();
}
}
push @tests,
- sort -d $arg
+ sort -d $arg
? $recurse
? $self->_expand_dir_recursive($arg)
: glob( File::Spec->catfile( $arg, '*.t' ) )
# $writer->write( $self->{tests} || {}, \*FH );
close FH;
$self->_regen_seq;
+ $self->_prune_and_stamp;
$self->{_}->{generation}++;
}
+sub _prune_and_stamp {
+ my $self = shift;
+ for my $name ( keys %{ $self->{_}->{tests} || {} } ) {
+ if ( my @stat = stat $name ) {
+ $self->{_}->{tests}->{$name}->{mtime} = $stat[9];
+ }
+ else {
+ delete $self->{_}->{tests}->{$name};
+ }
+ }
+}
+
sub _regen_seq {
my $self = shift;
for my $rec ( values %{ $self->{_}->{tests} || {} } ) {