Commit b5009ee6 authored by Bjorn Munch's avatar Bjorn Munch

merge from 5.5-mtr

parents c41e8663 0bb2424f
#!/bin/sh
# Copyright (C) 2000, 2007 MySQL AB
# Copyright (c) 2000, 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 Library General Public
......@@ -250,7 +250,7 @@ gcov_compile_flags="$gcov_compile_flags -DMYSQL_SERVER_SUFFIX=-gcov -DHAVE_gcov"
gcov_link_flags="-fprofile-arcs -ftest-coverage"
gcov_configs="--disable-shared"
gcov_configs="--with-gcov"
# gprof
......
......@@ -190,6 +190,11 @@ foreach my $option (@ARGV)
$cmakeargs = $cmakeargs." \"-DWITH_COMMENT=".substr($option,13)."\"";
next;
}
if ($option =~ /with-gcov/)
{
$cmakeargs = $cmakeargs." -DENABLE_GCOV=ON";
next;
}
$option = uc($option);
$option =~ s/-/_/g;
......
......@@ -287,9 +287,11 @@ sub collect_one_suite($)
"mysql-test/suite",
"mysql-test",
# Look in storage engine specific suite dirs
"storage/*/mysql-test-suites"
"storage/*/mtr",
# Look in plugin specific suite dir
"plugin/$suite/tests",
],
[$suite]);
[$suite, "mtr"]);
}
mtr_verbose("suitedir: $suitedir");
}
......
......@@ -31,6 +31,7 @@ sub mtr_script_exists(@);
sub mtr_file_exists(@);
sub mtr_exe_exists(@);
sub mtr_exe_maybe_exists(@);
sub mtr_compress_file($);
sub mtr_milli_sleep($);
sub start_timer($);
sub has_expired($);
......@@ -199,6 +200,40 @@ sub mtr_exe_exists (@) {
}
}
#
# Try to compress file using tools that might be available.
# If zip/gzip is not available, just silently ignore.
#
sub mtr_compress_file ($) {
my ($filename)= @_;
mtr_error ("File to compress not found: $filename") unless -f $filename;
my $did_compress= 0;
if (IS_WINDOWS)
{
# Capture stderr
my $ziperr= `zip $filename.zip $filename 2>&1`;
if ($?) {
print "$ziperr\n" if $ziperr !~ /recognized as an internal or external/;
} else {
unlink($filename);
$did_compress=1;
}
}
else
{
my $gzres= system("gzip $filename");
$did_compress= ! $gzres;
if ($gzres && $gzres != -1) {
mtr_error ("Error: have gzip but it fails to compress core file");
}
}
mtr_print("Compressed file $filename") if $did_compress;
}
sub mtr_milli_sleep ($) {
die "usage: mtr_milli_sleep(milliseconds)" unless @_ == 1;
......
......@@ -263,7 +263,6 @@ my $opt_shutdown_timeout= $ENV{MTR_SHUTDOWN_TIMEOUT} || 10; # seconds
my $opt_start_timeout = $ENV{MTR_START_TIMEOUT} || 180; # seconds
sub suite_timeout { return $opt_suite_timeout * 60; };
sub check_timeout { return $opt_testcase_timeout * 6; };
my $opt_wait_all;
my $opt_user_args;
......@@ -299,6 +298,8 @@ sub testcase_timeout ($) {
return $opt_testcase_timeout * 60;
}
sub check_timeout ($) { return testcase_timeout($_[0]) / 10; }
our $opt_warnings= 1;
our $opt_include_ndbcluster= 0;
......@@ -657,6 +658,8 @@ sub run_test_server ($$$) {
mtr_report(" - deleting it, already saved",
"$opt_max_save_core");
unlink("$core_file");
} else {
mtr_compress_file($core_file) unless @opt_cases;
}
++$num_saved_cores;
}
......@@ -3413,7 +3416,7 @@ sub check_testcase($$)
# Return immediately if no check proceess was started
return 0 unless ( keys %started );
my $timeout= start_timer(check_timeout());
my $timeout= start_timer(check_timeout($tinfo));
while (1){
my $result;
......@@ -3485,7 +3488,7 @@ test case was executed:\n";
}
elsif ( $proc->{timeout} ) {
$tinfo->{comment}.= "Timeout for 'check-testcase' expired after "
.check_timeout()." seconds";
.check_timeout($tinfo)." seconds";
$result= 4;
}
else {
......@@ -3575,7 +3578,7 @@ sub run_on_all($$)
# Return immediately if no check proceess was started
return 0 unless ( keys %started );
my $timeout= start_timer(check_timeout());
my $timeout= start_timer(check_timeout($tinfo));
while (1){
my $result;
......@@ -3606,7 +3609,7 @@ sub run_on_all($$)
}
elsif ($proc->{timeout}) {
$tinfo->{comment}.= "Timeout for '$run' expired after "
.check_timeout()." seconds";
.check_timeout($tinfo)." seconds";
}
else {
# Unknown process returned, most likley a crash, abort everything
......@@ -4331,7 +4334,7 @@ sub check_warnings ($) {
# Return immediately if no check proceess was started
return 0 unless ( keys %started );
my $timeout= start_timer(check_timeout());
my $timeout= start_timer(check_timeout($tinfo));
while (1){
my $result= 0;
......@@ -4383,7 +4386,7 @@ sub check_warnings ($) {
}
elsif ( $proc->{timeout} ) {
$tinfo->{comment}.= "Timeout for 'check warnings' expired after "
.check_timeout()." seconds";
.check_timeout($tinfo)." seconds";
$result= 4;
}
else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment