#!/usr/bin/perl use strict; use warnings; use Cwd; use POSIX qw(strftime uname locale_h); use Net::Domain qw(hostname hostfqdn); use locale; my $line; foreach $line () { chomp ($line); print "$line\n"; if ($line =~ /^Overall results:/) { # do magic nunit emission here # failures look like: # Overall results: tests: 19992, failed: 48, opt combinations: 24 (pass: 99.76%) # passes look like: # Overall results: tests: 20928, 100% pass, opt combinations: 24 my @words = split (/ /, $line); my $failed; my $successbool; my $total = $words[3]; my $mylocale = setlocale (LC_CTYPE); $mylocale = substr($mylocale, 0, index($mylocale, '.')); $mylocale =~ s/_/-/; if ($line =~ /failed:/) { $failed = $words[5]; } else { $failed = "0,"; } chop ($failed); chop ($total); if ($failed > 0) { $successbool = "False"; } else { $successbool = "True"; } open (my $nunitxml, '>', 'TestResult-regression.xml') or die "Could not write to 'TestResult-regression.xml' $!"; print $nunitxml "\n"; print $nunitxml "\n"; print $nunitxml "\n"; print $nunitxml " \n"; print $nunitxml " \n"; print $nunitxml " \n"; print $nunitxml " \n"; print $nunitxml " \n"; print $nunitxml " \n"; print $nunitxml " \n"; print $nunitxml " \n"; print $nunitxml " 0) { print $nunitxml ">\n"; print $nunitxml " \n"; print $nunitxml " ) { chomp ($line); print "$line\n"; } print $nunitxml "]]>\n"; print $nunitxml " \n"; print $nunitxml " \n"; print $nunitxml " \n"; print $nunitxml " \n"; } else { print $nunitxml " />\n"; } print $nunitxml " \n"; print $nunitxml " \n"; print $nunitxml " \n"; print $nunitxml " \n"; print $nunitxml " \n"; print $nunitxml " \n"; print $nunitxml "\n"; close $nunitxml; } }