42 lines
1.1 KiB
Text
42 lines
1.1 KiB
Text
Index: tkx-prove
|
|
--- tkx-prove.orig
|
|
+++ tkx-prove
|
|
@@ -113,8 +113,7 @@ sub set_dir {
|
|
}, "$dir/t");
|
|
}
|
|
|
|
-use Test::Harness::Straps;
|
|
-my $strap = Test::Harness::Straps->new;
|
|
+use TAP::Parser;
|
|
|
|
$tree->g_bind("<<TreeviewSelect>>", \&tree_select);
|
|
|
|
@@ -135,16 +134,19 @@ sub run_tests {
|
|
$tree->set($item, "time", "-");
|
|
Tkx::update();
|
|
|
|
- my $cmd = $strap->_command_line("$dir/$test");
|
|
- my $before = time;
|
|
- my @output = qx($cmd);
|
|
- my $used = time - $before;
|
|
- my $status = $?;
|
|
- my %res = $strap->analyze($item, \@output);
|
|
- $res{output} = join("", @output);
|
|
- $res{start_time} = $before;
|
|
+ my %res;
|
|
+ my $parser = TAP::Parser->new( { source => "$dir/$test" } );
|
|
+ while ( my $pres = $parser->next ) {
|
|
+ $res{output} .= $pres->as_string . "\n";
|
|
+ }
|
|
+ my $used = $parser->end_time - $parser->start_time;
|
|
$res{used_time} = sprintf "%.03f", $used;
|
|
- $res{status} = $status;
|
|
+ $res{skip_all} = $parser->skipped;
|
|
+ $res{passing} = ($parser->passed == $parser->tests_run);
|
|
+ $res{status} = $parser->exit;
|
|
+ $res{max} = $parser->tests_run;
|
|
+ $res{ok} = $parser->passed;
|
|
+
|
|
#use Data::Dump; print Data::Dump::dump(\%res), "\n";
|
|
$result{$item} = \%res;
|
|
|