comparison lib/Test/Nginx.pm @ 164:f602276b9bb9

Tests: truncate huge messages while logging.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 01 Aug 2011 21:45:26 +0400
parents 450206ed1fd2
children fca70f483608
comparison
equal deleted inserted replaced
163:450206ed1fd2 164:f602276b9bb9
312 sub log_core { 312 sub log_core {
313 return unless $ENV{TEST_NGINX_VERBOSE}; 313 return unless $ENV{TEST_NGINX_VERBOSE};
314 my ($prefix, $msg) = @_; 314 my ($prefix, $msg) = @_;
315 ($prefix, $msg) = ('', $prefix) unless defined $msg; 315 ($prefix, $msg) = ('', $prefix) unless defined $msg;
316 $prefix .= ' ' if length($prefix) > 0; 316 $prefix .= ' ' if length($prefix) > 0;
317 317
318 if (length($msg) > 4096) {
319 $msg = substr($msg, 0, 4096);
320 $msg .= "(...logged only 4096 of " . length($msg) . " bytes)";
321 }
322
318 $msg =~ s/^/# $prefix/gm; 323 $msg =~ s/^/# $prefix/gm;
319 $msg =~ s/([^\x20-\x7e])/sprintf('\\x%02x', ord($1)) . (($1 eq "\n") ? "\n" : '')/gmxe; 324 $msg =~ s/([^\x20-\x7e])/sprintf('\\x%02x', ord($1)) . (($1 eq "\n") ? "\n" : '')/gmxe;
320 $msg .= "\n" unless $msg =~ /\n\Z/; 325 $msg .= "\n" unless $msg =~ /\n\Z/;
321 print $msg; 326 print $msg;
322 } 327 }