blob: 78d82ccb31d95bc2ea09a7e76a4bf624f33ecca3 (
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
34
35
36
37
38
39
40
41
42
43
44
|
package My::Suite::CTest;
use Cwd;
@ISA = qw(My::Suite);
sub list_cases {
my ($self) = @_;
keys %{$self->{ctests}}
}
sub start_test {
my ($self, $tinfo)= @_;
my $args=[ ];
my $oldpwd=getcwd();
chdir $::opt_vardir;
my $proc=My::SafeProcess->new
(
name => $tinfo->{shortname},
path => $self->{ctests}->{$tinfo->{shortname}},
args => \$args,
append => 1,
output => $::path_current_testlog,
error => $::path_current_testlog,
);
chdir $oldpwd;
$proc;
}
{
return "Not run for embedded server" if $::opt_embedded_server;
return "Not configured to run ctest" unless -f "../CTestTestfile.cmake";
my ($ctest_vs)= $opt_vs_config ? "--build-config $opt_vs_config" : "";
my (@ctest_list)= `cd .. && ctest $opt_vs_config --show-only --verbose`;
return "No ctest" if $?;
my ($command, %tests);
for (@ctest_list) {
chomp;
$command= $' if /^\d+: Test command: +/;
$tests{$'}=$command if /^ +Test +#\d+: +/;
}
bless { ctests => { %tests } };
}
|