1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Windows compatibility changes of the 'rpl_delete_all',

'ps_1general' and 'fulltext_cache' test cases.


mysql-test/r/fulltext_cache.result:
  To pass on Windows, round to less digits
mysql-test/t/fulltext_cache.test:
  To pass on Windows, round to less digits
mysql-test/t/ps_1general.test:
  To pass on Windows, change \\ to / in result
mysql-test/t/rpl_delete_all.test:
  To pass on Windows, change \\ to / in result
mysql-test/mysql-test-run.pl:
  Pass mysqld --console to catch output on Windows
mysql-test/lib/mtr_process.pl:
  Check error from exec() to avoid becoming a fork() bomb
This commit is contained in:
unknown
2005-02-17 02:59:39 +01:00
parent bc22f79f12
commit 3f80899679
6 changed files with 52 additions and 26 deletions

View File

@ -123,6 +123,17 @@ sub spawn_impl ($$$$$$$) {
$SIG{INT}= 'DEFAULT'; # Parent do some stuff, we don't
if ( $::glob_cygwin_shell and $mode eq 'test' )
{
# Programs started from mysqltest under Cygwin, are to
# execute them within Cygwin. Else simple things in test
# files like
# --system "echo 1 > file"
# will fail.
# FIXME not working :-(
# $ENV{'COMSPEC'}= "$::glob_cygwin_shell -c";
}
if ( $output )
{
if ( ! open(STDOUT,">",$output) )
@ -130,6 +141,7 @@ sub spawn_impl ($$$$$$$) {
mtr_error("can't redirect STDOUT to \"$output\": $!");
}
}
if ( $error )
{
if ( $output eq $error )
@ -147,6 +159,7 @@ sub spawn_impl ($$$$$$$) {
}
}
}
if ( $input )
{
if ( ! open(STDIN,"<",$input) )
@ -154,7 +167,11 @@ sub spawn_impl ($$$$$$$) {
mtr_error("can't redirect STDIN to \"$input\": $!");
}
}
exec($path,@$arg_list_t);
if ( ! exec($path,@$arg_list_t) )
{
mtr_error("failed to execute \"$path\": $!");
}
}
}
}
@ -569,7 +586,7 @@ sub mtr_stop_mysqld_servers ($) {
sub mtr_mysqladmin_shutdown () {
my $spec= shift;
my @mysql_admin_pids;
my %mysql_admin_pids;
my @to_kill_specs;
foreach my $srv ( @$spec )
@ -611,13 +628,19 @@ sub mtr_mysqladmin_shutdown () {
# We don't wait for termination of mysqladmin
my $pid= mtr_spawn($::exe_mysqladmin, $args,
"", $::path_manager_log, $::path_manager_log, "");
push(@mysql_admin_pids, $pid);
$mysql_admin_pids{$pid}= 1;
}
# We wait blocking, we wait for the last one anyway
foreach my $pid (@mysql_admin_pids)
while (keys %mysql_admin_pids)
{
waitpid($pid,0); # FIXME no need to check -1 or 0?
foreach my $pid (keys %mysql_admin_pids)
{
if ( waitpid($pid,0) > 0 )
{
delete $mysql_admin_pids{$pid};
}
}
}
# If we trusted "mysqladmin --shutdown_timeout= ..." we could just