~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to lib/GenTest/Server/MySQLd.pm

Windows adaptions

Show diffs side-by-side

added added

removed removed

Lines of Context:
66
66
        $self->[MYSQLD_VARDIR] = "mysql-test/var";
67
67
    }
68
68
 
69
 
    if ($self->vardir =~ m/^\//) {
70
 
    } else {
71
 
        $self->[MYSQLD_VARDIR] = $self->basedir."/".$self->vardir;
72
 
    }
73
 
 
74
 
    $self->[MYSQLD_DATADIR] = $self->[MYSQLD_VARDIR]."/data";
75
 
    
76
69
    if (windows()) {
77
70
        ## Use unix-style path's since that's what Perl expects...
78
71
        $self->[MYSQLD_BASEDIR] =~ s/\\/\//g;
80
73
        $self->[MYSQLD_DATADIR] =~ s/\\/\//g;
81
74
    }
82
75
    
 
76
    if (not $self->_absPath($self->vardir)) {
 
77
        $self->[MYSQLD_VARDIR] = $self->basedir."/".$self->vardir;
 
78
    }
 
79
 
 
80
    $self->[MYSQLD_DATADIR] = $self->[MYSQLD_VARDIR]."/data";
 
81
    
83
82
    $self->[MYSQLD_MYSQLD] = $self->_find($self->basedir,
84
83
                                          windows()?["sql/Debug"]:["sql","libexec"],
85
84
                                          windows()?"mysqld.exe":"mysqld");
181
180
            system('rm -rf "'.$self->vardir.'"');
182
181
        }
183
182
    }
184
 
    
 
183
 
185
184
    ## 2. Create database directory structure
186
185
    mkdir $self->vardir;
187
186
    mkdir $self->datadir;
188
187
    mkdir $self->datadir."/mysql";
189
188
    mkdir $self->datadir."/test";
190
 
    
 
189
 
191
190
    ## 3. Create boot file
192
191
    my $boot = $self->vardir."/boot.sql";
193
192
    open BOOT,">$boot";
217
216
}
218
217
 
219
218
sub _reportError {
220
 
    print Win32::FormatMessage(Win32::GetLastError());
 
219
    say(Win32::FormatMessage(Win32::GetLastError()));
221
220
}
222
221
 
223
222
sub startServer {
350
349
    croak "Cannot find '$name' in ".join(",",map {"'".$base."/".$_."'"} @$subdir);
351
350
}
352
351
 
 
352
sub _absPath {
 
353
    my ($self, $path) = @_;
 
354
 
 
355
    if (windows()) {
 
356
        return 
 
357
            $path =~ m/^[A-Z]:[\/\\]/i;
 
358
    } else {
 
359
        return $path =~ m/^\//;
 
360
    }
 
361
}