use String::ShellQuote qw/shell_quote/;
use Try::Tiny;
-our $VERSION = '5999.000_004';
+our $VERSION = '5999.000_005';
our @EXPORT_OK = qw/prepare_files stopvms/;
##################################################
my $cmd = $ENV{GRUNTMASTER_VM};
$cmd .= ' ' . $arg if $arg;
get_logger->trace("Starting VM $name ($cmd)");
- $vm{$name} = Expect->spawn($cmd);
+ $vm{$name} = Expect->new;
$vm{$name}->raw_pty(1);
+ $vm{$name}->log_stdout(0);
+ $vm{$name}->spawn($cmd);
$vm{$name}->expect(5, '# ') or get_logger->logdie("Error while starting VM $name: ". $vm{$name}->error);
}
my ($vm, $kill) = @_;
if ($vm{$vm}) {
- warn "Cannot kill VM" if $kill;
+ warn "Cannot kill VM\n" if $kill;
$vm{$vm}->expect(5, '# ');
} else {
kill KILL => $pid{$vm} if $kill;
if ($vm{$vm}) {
my $cmd = ">$er " . shell_quote 'gruntmaster-exec', @args;
get_logger->trace("Running in VM $vm: $cmd");
- $vm{$vm}->send($cmd);
+ $vm{$vm}->send($cmd, "\n");
} else {
$pid{$vm} = fork // die "Cannot fork\n";
unless ($pid{$vm}) {