From cb15b0712d9753b4969762a69370ccc493a16e74 Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Mon, 9 May 2011 16:07:43 +0200 Subject: WL #5680 MTR results written to file with well defined format Added --result-file option, which will produce var/mtr-results.txt Output has a simple format: : for general info on test run { : .... } for each test Output from failed tests are included but may be truncated. See WL for more details. --- mysql-test/lib/My/Test.pm | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'mysql-test/lib/My/Test.pm') diff --git a/mysql-test/lib/My/Test.pm b/mysql-test/lib/My/Test.pm index c756a677052..895afd210e7 100644 --- a/mysql-test/lib/My/Test.pm +++ b/mysql-test/lib/My/Test.pm @@ -1,6 +1,6 @@ # -*- cperl -*- -# Copyright (C) 2008 MySQL AB -# +# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. +# # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. @@ -23,6 +23,7 @@ package My::Test; use strict; use warnings; use Carp; +use mtr_results; sub new { @@ -66,9 +67,26 @@ sub is_failed { } +my %result_names= ( + 'MTR_RES_PASSED' => 'pass', + 'MTR_RES_FAILED' => 'fail', + 'MTR_RES_SKIPPED' => 'skipped', + ); + sub write_test { my ($test, $sock, $header)= @_; + if ($::opt_resfile && defined $test->{'result'}) { + resfile_test_info("result", $result_names{$test->{'result'}}); + if ($test->{'timeout'}) { + resfile_test_info("comment", "Timeout"); + } elsif (defined $test->{'comment'}) { + resfile_test_info("comment", $test->{'comment'}); + } + resfile_test_info("result", "warning") if defined $test->{'check'}; + resfile_to_test($test); + } + # Give the test a unique key before serializing it $test->{key}= "$test" unless defined $test->{key}; @@ -113,6 +131,7 @@ sub read_test { $test->{$key}= _decode($value); } } + resfile_from_test($test) if $::opt_resfile; return $test; } -- cgit v1.2.1