blob: 811c3e8801b47316268f0de39c2253dc61e2a98b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#!/usr/bin/perl
use IO::Socket;
$vm = shift;
$log = shift;
# start virtualbox gui in minimized mode - this should be the first thing we do since this process
# inherits all handles and we want our sockets/log file closed
system("start /min virtualbox --startvm $vm");
# start a server; vm will connect to the server via autotest-remote-host.pl
my $server = new IO::Socket::INET(LocalPort => 7183, Listen => 1);
die "Could not create socket: $!\n" unless $server;
open LOG, ">> $log" || die "Could not open log file: $!\n";
print LOG "Listening for connection...\n";
my $client = $server->accept();
# echo all input to log file
print LOG $_ while (<$client>);
close LOG;
$client->close();
$server->close();
# wait for vm shutdown to decrease peak memory consumption
while (`vboxmanage showvminfo $vm` !~ /State:\s+powered off/)
{
sleep(1);
}
|