App-Elog
    
    
  
  
  
view release on metacpan or search on metacpan
use Test::More;
use warnings;
sub runcmd {
    my ($cmd) = @_;
    system "$cmd >./t/stdout 2>./t/stderr";
    $EXITCODE = $? >> 8;
    if (open my $fh, "<", "./t/stdout") {
        $STDOUT = do {local $/; <$fh>};
        close $fh;
    }
    if (open my $fh, "<", "./t/stderr") {
        $STDERR = do {local $/; <$fh>};
        close $fh;
    }
    if ($ENV{DEBUG}) {
        print "STDOUT: $STDOUT\n";
        print "STDERR: $STDERR\n";
        print "EXITCODE: $EXITCODE\n";
    }
    END {system "rm ./t/stdout ./t/stderr"}
}
$ENV{PATH} = "./bin:$ENV{PATH}";
runcmd("elog -h");
ok $STDOUT =~ /Usage:/, "elog runs";
runcmd("alog -h");
ok $STDOUT =~ /Usage:/, "alog runs";
( run in 1.162 second using v1.01-cache-2.11-cpan-c333fce770f )