DoCommand is running out of memory on some performance tests (tests with no timeout value). DoCommand.pm needs to safeguard against this such that the entire perl process does not exit, but that the test times out and testing resumes. I believe the problem is that $stdout/$stderr values can accumulate an endless stream of error messages, which end up overloading the process's memory space. Below is a simple program that shows the issue.
{{{
!perl
!/usr/bin/env perl
Test that makes DoCommand run out of memory
Fill in
use lib "/lib";
use MTT::Messages;
use MTT::DoCommand;
use strict;
DoCommand
is running out of memory on some performance tests (tests with no timeout value).DoCommand.pm
needs to safeguard against this such that the entireperl
process does not exit, but that the test times out and testing resumes. I believe the problem is that$stdout/$stderr
values can accumulate an endless stream of error messages, which end up overloading the process's memory space. Below is a simple program that shows the issue.{{{
!perl
!/usr/bin/env perl
Test that makes DoCommand run out of memory
Fill in
use lib "/lib";
use MTT::Messages; use MTT::DoCommand; use strict;
Cmd($merge_output, $cmd,
$timeout, $max_stdout_lines, $max_stderrlines) = @;
MTT::Messages::Messages(0,1); MTT::DoCommand::Cmd(1, "yes", -1, -1, -1); }}}