#!/usr/bin/env perl use strict; use warnings; my $file = $ARGV[0]; my $testcase = ""; my $testsuite = ""; my $error_collect = ""; my $open_error = 0; if (not defined $file) { die "Need filename as parameter!\n"; } sub close_error { if ( $open_error == 1 ) { print "$error_collect ]]>\n"; $error_collect=""; $open_error=0; } return; } open (my $info, $file) or die "Could not open $file: $!"; print "\n"; while(my $line = <$info>) { if ($line =~ /^(t\/)(\S+)(\/)(\S+).* (\.*) (skipped:) (.*)$/) { close_error(); print "Skip reason:\n"; } elsif ($line =~ /^ok (\d+) - (.*)$/) { close_error(); print "Test description:\n"; } elsif ($line =~ /^not ok (\d+) - (.*)$/) { close_error(); print "Test description:\n"; } $testsuite="$2"; $testcase="$4"; $error_collect=""; print "\n"; } } elsif ($line !~ /^ok$/ && $line !~ /^\d+..\d+$/) { $error_collect=$error_collect . $line; } } print "\n\n";