Kazuho Oku > Test-mysqld-0.16 > Test::mysqld

Download:
Test-mysqld-0.16.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  3
Open  0
View/Report Bugs
Module Version: 0.16   Source   Latest Release: Test-mysqld-0.17

NAME ^

Test::mysqld - mysqld runner for tests

SYNOPSIS ^

  use DBI;
  use Test::mysqld;
  use Test::More;
  
  my $mysqld = Test::mysqld->new(
    my_cnf => {
      'skip-networking' => '', # no TCP socket
    }
  ) or plan skip_all => $Test::mysqld::errstr;
  
  plan tests => XXX;
  
  my $dbh = DBI->connect(
    $mysqld->dsn(dbname => 'test'),
  );

DESCRIPTION ^

Test::mysqld automatically setups a mysqld instance in a temporary directory, and destroys it when the perl script exits.

FUNCTIONS ^

new

Create and run a mysqld instance. The instance is terminated when the returned object is being DESTROYed. If required programs (mysql_install_db and mysqld) were not found, the function returns undef and sets appropriate message to $Test::mysqld::errstr.

base_dir

Returns directory under which the mysqld instance is being created. The property can be set as a parameter of the new function, in which case the directory will not be removed at exit.

my_cnf

A hash containing the list of name=value pairs to be written into my.cnf. The property can be set as a parameter of the new function.

mysql_install_db

mysqld

Path to mysql_install_db script or mysqld program bundled to the mysqld distribution. If not set, the program is automatically search by looking up $PATH and other prefixed directories.

dsn

Builds and returns dsn by using given parameters (if any). Default username is 'root', and dbname is 'test'.

pid

Returns process id of mysqld (or undef if not running).

start

Starts mysqld.

stop

Stops mysqld.

setup

Setups the mysqld instance.

COPYRIGHT ^

Copyright (C) 2009 Cybozu Labs, Inc. Written by Kazuho Oku.

LICENSE ^

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://www.perl.com/perl/misc/Artistic.html

syntax highlighting: