1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

Bug #11750043 40340: USE GZIPPED CORE FILES TO SAVE SPACE

Use [g]zip on core file if available, ignore if not
Skip if running named test, and print a line saying what it compressed.
This commit is contained in:
Bjorn Munch
2011-05-25 10:58:33 +02:00
parent 829a418a53
commit d7334d8d85
2 changed files with 37 additions and 0 deletions

View File

@ -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;

View File

@ -657,6 +657,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;
}