diff options
author | Sergei Golubchik <sergii@pisem.net> | 2011-07-16 09:59:15 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2011-07-16 09:59:15 +0200 |
commit | 011cbe9088bdba6a249f795f395b3cbbb9f791dc (patch) | |
tree | b24aa3affb1986520817c0e7e97f4907e5d33f20 /mysql-test/suite/unit | |
parent | 73a46b3eb954d92b1032d1c458ee349247800def (diff) | |
download | mariadb-git-011cbe9088bdba6a249f795f395b3cbbb9f791dc.tar.gz |
move ctest handling from mtr to a separate suite
Diffstat (limited to 'mysql-test/suite/unit')
-rw-r--r-- | mysql-test/suite/unit/my.cnf | 8 | ||||
-rw-r--r-- | mysql-test/suite/unit/suite.pm | 43 |
2 files changed, 51 insertions, 0 deletions
diff --git a/mysql-test/suite/unit/my.cnf b/mysql-test/suite/unit/my.cnf new file mode 100644 index 00000000000..ca0bf44a81d --- /dev/null +++ b/mysql-test/suite/unit/my.cnf @@ -0,0 +1,8 @@ +# +# This file is intentionally left empty +# + +# +# It has not a single [mysql] section, which means that mtr +# will not start any mysqld's for tests in this suite +# diff --git a/mysql-test/suite/unit/suite.pm b/mysql-test/suite/unit/suite.pm new file mode 100644 index 00000000000..7d843200ad1 --- /dev/null +++ b/mysql-test/suite/unit/suite.pm @@ -0,0 +1,43 @@ +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 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 } }; +} |