diff options
Diffstat (limited to 'ACE/bin/PerlACE/ProcessVX_Win32.pm')
-rw-r--r-- | ACE/bin/PerlACE/ProcessVX_Win32.pm | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/ACE/bin/PerlACE/ProcessVX_Win32.pm b/ACE/bin/PerlACE/ProcessVX_Win32.pm index fb713370645..f1432314e48 100644 --- a/ACE/bin/PerlACE/ProcessVX_Win32.pm +++ b/ACE/bin/PerlACE/ProcessVX_Win32.pm @@ -32,6 +32,7 @@ sub new $self->{PROCESS} = undef; $self->{EXECUTABLE} = shift; $self->{ARGUMENTS} = shift; + $self->{TARGET} = shift; if (!defined $PerlACE::ProcessVX::WAIT_DELAY_FACTOR) { $PerlACE::ProcessVX::WAIT_DELAY_FACTOR = 3; } @@ -55,6 +56,11 @@ sub DESTROY if (!defined $ENV{'ACE_TEST_VERBOSE'}) { unlink "run_vx.pl"; } + + if (defined $ENV{'ACE_RUN_VX_IBOOT'} && !defined $ENV{'ACE_RUN_VX_NO_SHUTDOWN'}) { + # Shutdown the target to save power + $self->iboot_cycle_power(1); + } } ############################################################################### @@ -126,6 +132,10 @@ sub Spawn () @cmds[$cmdnr++] = '< ' . $ENV{"ACE_RUN_VX_STARTUP_SCRIPT"}; } + if (defined $ENV{"ACE_RUN_VX_STARTUP_COMMAND"}) { + @cmds[$cmdnr++] = $ENV{"ACE_RUN_VX_STARTUP_COMMAND"}; + } + if ($PerlACE::VxWorks_RTP_Test) { @cmds[$cmdnr++] = 'cmd'; if ( defined $ENV{"ACE_RUN_VX_TGTSVR_DEFGW"} && $PerlACE::ProcessVX::VxDefGw) { @@ -144,6 +154,10 @@ sub Spawn () @cmds[$cmdnr++] = 'C putenv("TAO_ORB_DEBUG=' . $ENV{"ACE_RUN_TAO_ORB_DEBUG"} . '")'; } + if (defined $ENV{'ACE_RUN_ACE_LD_SEARCH_PATH'}) { + @cmds[$cmdnr++] = 'C putenv("ACE_LD_SEARCH_PATH=' . $ENV{"ACE_RUN_ACE_LD_SEARCH_PATH"} . '")'; + } + if (defined $ENV{'ACE_RUN_VX_CHECK_RESOURCES'}) { @cmds[$cmdnr++] = 'C memShow()'; } @@ -151,7 +165,8 @@ sub Spawn () $cmdline = $program . $PerlACE::ProcessVX::ExeExt . ' ' . $self->{ARGUMENTS}; @cmds[$cmdnr++] = $cmdline; $prompt = '\[vxWorks \*\]\# $'; - } else { + } + if ($PerlACE::VxWorks_Test) { if ( defined $ENV{"ACE_RUN_VX_TGTSVR_DEFGW"} && $PerlACE::ProcessVX::VxDefGw) { @cmds[$cmdnr++] = "mRouteAdd(\"0.0.0.0\", \"" . $ENV{"ACE_RUN_VX_TGTSVR_DEFGW"} . "\", 0,0,0)"; $PerlACE::ProcessVX::VxDefGw = 0; @@ -186,8 +201,11 @@ sub Spawn () @cmds[$cmdnr++] = 'putenv("TAO_ORB_DEBUG=' . $ENV{"ACE_RUN_TAO_ORB_DEBUG"} . '")'; } + if (defined $ENV{'ACE_RUN_ACE_LD_SEARCH_PATH'}) { + @cmds[$cmdnr++] = 'putenv("ACE_LD_SEARCH_PATH=' . $ENV{"ACE_RUN_ACE_LD_SEARCH_PATH"} . '")'; + } + @cmds[$cmdnr++] = 'ld <'. $program . $PerlACE::ProcessVX::ExeExt; - $cmdline = $program . $PerlACE::ProcessVX::ExeExt . ' ' . $self->{ARGUMENTS}; if (defined $self->{ARGUMENTS}) { ($arguments = $self->{ARGUMENTS})=~ s/\"/\\\"/g; ($arguments = $self->{ARGUMENTS})=~ s/\'/\\\'/g; @@ -225,7 +243,7 @@ if (!defined $telnet_host) { if (!defined $telnet_port) { $telnet_port = 23; } -my $t = new Net::Telnet(Timeout => 10, Errmode => 'return', Host => $telnet_host, Port => $telnet_port); +my $t = new Net::Telnet(Timeout => 600, Errmode => 'return', Host => $telnet_host, Port => $telnet_port); if (!defined $t) { die "ERROR: Telnet failed to <" . $telnet_host . ":". $telnet_port . ">"; } |