Sandbox.pm: Catch errors from shelled-out commands

This commit is contained in:
Brian Fraser fraserb@gmail.com
2012-06-11 11:50:52 -03:00
parent d46a89d810
commit 87f32cc857

View File

@@ -74,11 +74,9 @@ sub use {
return if !defined $cmd || !$cmd; return if !defined $cmd || !$cmd;
my $use = $self->_use_for($server) . " $cmd"; my $use = $self->_use_for($server) . " $cmd";
PTDEBUG && _d('"Executing', $use, 'on', $server); PTDEBUG && _d('"Executing', $use, 'on', $server);
eval { my $out = `$use 2>&1`;
`$use`; if ( $? >> 8 ) {
}; die "Failed to execute $cmd on $server: $out";
if ( $EVAL_ERROR ) {
die "Failed to execute $cmd on $server: $EVAL_ERROR";
} }
return; return;
} }
@@ -140,9 +138,9 @@ sub load_file {
my $use = $self->_use_for($server) . " $d < $file"; my $use = $self->_use_for($server) . " $d < $file";
PTDEBUG && _d('Loading', $file, 'on', $server, ':', $use); PTDEBUG && _d('Loading', $file, 'on', $server, ':', $use);
eval { `$use` }; my $out = `$use 2>&1`;
if ( $EVAL_ERROR ) { if ( $? >> 8 ) {
die "Failed to execute $file on $server: $EVAL_ERROR"; die "Failed to execute $file on $server: $out";
} }
$self->wait_for_slaves(); $self->wait_for_slaves();
} }