#!/usr/bin/perl
use strict;
use lib qw(lib t/lib);
use Vim::Debug::Client;
use Vim::Debug::Daemon;
use Test::More;
$|=1;
$SIG{INT} = \&signalHandler;
sub signalHandler { exit } # die when children die
my $testFile = 't/perl.stop.pl';
my $r;
my $firstLine;
my $pid1 = fork;
if (!$pid1) { # child process
Vim::Debug::Daemon->new->run;
exit;
}
my $pid2 = fork;
if (!$pid2) { # child process
sleep 3;
my $client2 = Vim::Debug::Client->new({
language => 'Perl',
dbgrCmd => "perl -Ilib -d $testFile",
});
$r = $client2->stop;
exit;
}
my $client1 = Vim::Debug::Client->new({
language => 'Perl',
dbgrCmd => "perl -Ilib -d $testFile",
});
$r = $client1->start;
$firstLine = $r->line;
ok($firstLine, "connected: line number");
is($r->file, $testFile, "connected: file");
$r = $client1->cont;
ok($r->line, "continue: line number");
ok($r->file, "continue: file");
$r = $client1->next;
is($r->file, $testFile, "next: file");
$r = $client1->restart;
is($r->line, $firstLine, "continue: line number");
is($r->file, $testFile, "continue: file");
$r = $client1->quit;
done_testing;