From 06eaf7232e9a920468c0f8d74dcf2fe8b555501c Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 13 Apr 2024 14:24:36 +0200 Subject: Adding upstream version 1:10.11.6. Signed-off-by: Daniel Baumann --- mysql-test/suite/unit/suite.pm | 61 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 mysql-test/suite/unit/suite.pm (limited to 'mysql-test/suite/unit') diff --git a/mysql-test/suite/unit/suite.pm b/mysql-test/suite/unit/suite.pm new file mode 100644 index 00000000..6031c4be --- /dev/null +++ b/mysql-test/suite/unit/suite.pm @@ -0,0 +1,61 @@ +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 $path; + my $cmd = $self->{ctests}->{$tinfo->{shortname}}; + + if ($cmd =~ /[ "'><%!*?]/) { + ($path, $args) = ('/bin/sh', [ '-c', $cmd ]) + } else { + ($path, $args) = ($cmd, , [ ]) + } + + my $oldpwd=getcwd(); + chdir $::opt_vardir; + my $proc=My::SafeProcess->new + ( + name => $tinfo->{shortname}, + path => $path, + args => \$args, + append => 1, + output => $::path_current_testlog, + error => $::path_current_testlog, + ); + chdir $oldpwd; + $proc; +} + +{ + my $bin=$ENV{MTR_BINDIR} || '..'; + return "Not run for embedded server" if $::opt_embedded_server; + return "Not configured to run ctest" unless -f "$bin/CTestTestfile.cmake"; + my ($ctest_vs)= $::multiconfig ? "-C ".substr($::multiconfig,1) : ""; + my (@ctest_list)= `cd "$bin" && ctest $ctest_vs --show-only --verbose`; + return "No ctest" if $?; + + $ENV{MYSQL_TEST_PLUGINDIR}=$::plugindir; + + my ($command, %tests, $prefix); + for (@ctest_list) { + chomp; + if (/^\d+: Test command: +([^ \t]+.*)/) { + $command= $1; + $prefix= /libmariadb/ ? 'conc_' : ''; + } elsif (/^ +Test +#\d+: ([^ \t]+.*)/) { + if ($command ne "NOT_AVAILABLE" && $command ne "/bin/sh") { + $tests{$prefix.$1}=$command; + } + } + } + bless { ctests => { %tests } }; +} -- cgit v1.2.3