721
721
$glob_mysql_test_dir= `cygpath -m "$glob_mysql_test_dir"`;
722
722
chomp($glob_mysql_test_dir);
724
$default_vardir= "$glob_mysql_test_dir/var";
724
if (defined $ENV{MTR_BINDIR})
726
$default_vardir= "$ENV{MTR_BINDIR}/mysql-test/var";
730
$default_vardir= "$glob_mysql_test_dir/var";
726
733
# In most cases, the base directory we find everything relative to,
727
734
# is the parent directory of the "mysql-test" directory. For source
728
735
# distributions, TAR binary distributions and some other packages.
729
736
$glob_basedir= dirname($glob_mysql_test_dir);
738
$glob_bindir= $ENV{'MTR_BINDIR'} || $glob_basedir;
731
739
# In the RPM case, binaries and libraries are installed in the
732
740
# default system locations, instead of having our own private base
733
741
# directory. And we install "/usr/share/mysql-test". Moving up one
796
$path_client_bindir= mtr_path_exists("$glob_basedir/client_release",
797
"$glob_basedir/client_debug",
804
$path_client_bindir= mtr_path_exists("$glob_bindir/client_release",
805
"$glob_bindir/client_debug",
798
806
vs_config_dirs('client', ''),
799
"$glob_basedir/client",
800
"$glob_basedir/bin");
807
"$glob_bindir/client",
803
811
# Look for language files and charsetsdir, use same share
804
$path_share= mtr_path_exists("$glob_basedir/share/mysql",
805
"$glob_basedir/sql/share",
806
"$glob_basedir/share");
812
$path_share= mtr_path_exists("$glob_bindir/share/mysql",
813
"$glob_bindir/sql/share",
814
"$glob_bindir/share");
808
816
$path_language= mtr_path_exists("$path_share");
809
$path_charsetsdir= mtr_path_exists("$path_share/charsets");
817
$path_charsetsdir = mtr_path_exists("$glob_basedir/share/mysql/charsets",
818
"$glob_basedir/sql/share/charsets",
819
"$glob_basedir/share/charsets");
812
821
if (!$opt_extern)
814
823
$exe_mysqld= mtr_exe_exists (vs_config_dirs('sql', 'mysqld'),
815
824
vs_config_dirs('sql', 'mysqld-debug'),
816
"$glob_basedir/sql/mysqld",
825
"$glob_bindir/sql/mysqld",
817
826
"$path_client_bindir/mysqld-max-nt",
818
827
"$path_client_bindir/mysqld-max",
819
828
"$path_client_bindir/mysqld-nt",
820
829
"$path_client_bindir/mysqld",
821
830
"$path_client_bindir/mysqld-debug",
822
831
"$path_client_bindir/mysqld-max",
823
"$glob_basedir/libexec/mysqld",
824
"$glob_basedir/bin/mysqld",
825
"$glob_basedir/sbin/mysqld");
832
"$glob_bindir/libexec/mysqld",
833
"$glob_bindir/bin/mysqld",
834
"$glob_bindir/sbin/mysqld");
827
836
# Use the mysqld found above to find out what features are available
828
837
collect_mysqld_features();
1567
sub executable_setup_im () {
1569
# Look for instance manager binary - mysqlmanager
1571
mtr_exe_maybe_exists(
1572
"$glob_basedir/server-tools/instance-manager/mysqlmanager",
1573
"$glob_basedir/libexec/mysqlmanager",
1574
"$glob_basedir/bin/mysqlmanager",
1575
"$glob_basedir/sbin/mysqlmanager");
1577
return ($exe_im eq "");
1580
1576
sub executable_setup_ndb () {
1582
1578
# Look for ndb tols and binaries
1583
my $ndb_path= mtr_file_exists("$glob_basedir/ndb",
1584
"$glob_basedir/storage/ndb",
1585
"$glob_basedir/bin");
1579
my $ndb_path= mtr_file_exists("$glob_bindir/ndb",
1580
"$glob_bindir/storage/ndb",
1581
"$glob_bindir/bin");
1587
1583
# Some might be found in sbin, not bin.
1588
my $daemon_path= mtr_file_exists("$glob_basedir/ndb",
1589
"$glob_basedir/storage/ndb",
1590
"$glob_basedir/sbin",
1591
"$glob_basedir/bin");
1584
my $daemon_path= mtr_file_exists("$glob_bindir/ndb",
1585
"$glob_bindir/storage/ndb",
1586
"$glob_bindir/sbin",
1587
"$glob_bindir/bin");
1594
1590
mtr_exe_maybe_exists("$ndb_path/src/kernel/ndbd",
1595
1591
"$daemon_path/ndbd",
1596
"$glob_basedir/libexec/ndbd");
1592
"$glob_bindir/libexec/ndbd");
1598
1594
mtr_exe_maybe_exists("$ndb_path/src/mgmclient/ndb_mgm",
1599
1595
"$ndb_path/ndb_mgm");
1601
1597
mtr_exe_maybe_exists("$ndb_path/src/mgmsrv/ndb_mgmd",
1602
1598
"$daemon_path/ndb_mgmd",
1603
"$glob_basedir/libexec/ndb_mgmd");
1599
"$glob_bindir/libexec/ndb_mgmd");
1604
1600
$exe_ndb_waiter=
1605
1601
mtr_exe_maybe_exists("$ndb_path/tools/ndb_waiter",
1606
1602
"$ndb_path/ndb_waiter");
1643
1639
$exe_my_print_defaults=
1644
1640
mtr_exe_exists(vs_config_dirs('extra', 'my_print_defaults'),
1645
1641
"$path_client_bindir/my_print_defaults",
1646
"$glob_basedir/extra/my_print_defaults");
1642
"$glob_bindir/extra/my_print_defaults");
1648
1644
# Look for perror
1649
1645
$exe_perror= mtr_exe_exists(vs_config_dirs('extra', 'perror'),
1650
"$glob_basedir/extra/perror",
1646
"$glob_bindir/extra/perror",
1651
1647
"$path_client_bindir/perror");
1653
1649
# Look for the client binaries
1707
if ( ! $opt_skip_im and executable_setup_im())
1709
mtr_warning("Could not find all required instance manager binaries, " .
1710
"all im tests will fail, use --skip-im to " .
1711
"continue without instance manager");
1712
$instance_manager->{"executable_setup_failed"}= 1;
1715
1703
# Look for the udf_example library
1716
1704
$lib_udf_example=
1717
1705
mtr_file_exists(vs_config_dirs('sql', 'udf_example.dll'),
1718
"$glob_basedir/sql/.libs/udf_example.so",);
1706
"$glob_bindir/sql/.libs/udf_example.so",);
1720
1708
# Look for the ha_example library
1721
1709
$lib_example_plugin=
1722
1710
mtr_file_exists(vs_config_dirs('storage/example', 'ha_example.dll'),
1723
"$glob_basedir/storage/example/.libs/ha_example.so",);
1711
"$glob_bindir/storage/example/.libs/ha_example.so",);
1730
1718
$exe_mysqltest=
1731
1719
mtr_exe_exists(vs_config_dirs('libmysqld/examples','mysqltest_embedded'),
1732
"$glob_basedir/libmysqld/examples/mysqltest_embedded",
1720
"$glob_bindir/libmysqld/examples/mysqltest_embedded",
1733
1721
"$path_client_bindir/mysqltest_embedded");
1744
1732
$exe_mysql_client_test=
1745
1733
mtr_exe_maybe_exists(
1746
1734
vs_config_dirs('libmysqld/examples', 'mysql_client_test_embedded'),
1747
"$glob_basedir/libmysqld/examples/mysql_client_test_embedded");
1735
"$glob_bindir/libmysqld/examples/mysql_client_test_embedded");
1751
1739
$exe_mysql_client_test=
1752
1740
mtr_exe_maybe_exists(vs_config_dirs('tests', 'mysql_client_test'),
1753
"$glob_basedir/tests/mysql_client_test",
1754
"$glob_basedir/bin/mysql_client_test");
1741
"$glob_bindir/tests/mysql_client_test",
1742
"$glob_bindir/bin/mysql_client_test");
1757
1745
# Look for bug25714 executable which may _not_ exist in
1758
1746
# some versions, test using it should be skipped
1760
1748
mtr_exe_maybe_exists(vs_config_dirs('tests', 'bug25714'),
1761
"$glob_basedir/tests/bug25714");
1749
"$glob_bindir/tests/bug25714");
1867
1855
# are used in favor of the system installed ones
1868
1856
if ( $source_dist )
1870
push(@ld_library_paths, "$glob_basedir/libmysql/.libs/",
1871
"$glob_basedir/libmysql_r/.libs/",
1872
"$glob_basedir/zlib.libs/");
1858
push(@ld_library_paths, "$glob_bindir/libmysql/.libs/",
1859
"$glob_bindir/libmysql_r/.libs/",
1860
"$glob_bindir/zlib.libs/");
1876
push(@ld_library_paths, "$glob_basedir/lib");
1864
push(@ld_library_paths, "$glob_bindir/lib");
1882
1870
# --------------------------------------------------------------------------
1883
1871
if ( $glob_ndbcluster_supported )
1885
push(@ld_library_paths, "$glob_basedir/storage/ndb/src/.libs");
1873
push(@ld_library_paths, "$glob_bindir/storage/ndb/src/.libs");
1888
1876
# --------------------------------------------------------------------------
2197
2184
vs_config_dirs('storage/myisam', 'myisamchk'),
2198
2185
vs_config_dirs('myisam', 'myisamchk'),
2199
2186
"$path_client_bindir/myisamchk",
2200
"$glob_basedir/storage/myisam/myisamchk",
2201
"$glob_basedir/myisam/myisamchk"));
2187
"$glob_bindir/storage/myisam/myisamchk",
2188
"$glob_bindir/myisam/myisamchk"));
2202
2189
$ENV{'MYISAMPACK'}= mtr_native_path(mtr_exe_exists(
2203
2190
vs_config_dirs('storage/myisam', 'myisampack'),
2204
2191
vs_config_dirs('myisam', 'myisampack'),
2205
2192
"$path_client_bindir/myisampack",
2206
"$glob_basedir/storage/myisam/myisampack",
2207
"$glob_basedir/myisam/myisampack"));
2193
"$glob_bindir/storage/myisam/myisampack",
2194
"$glob_bindir/myisam/myisampack"));
2209
2196
# ----------------------------------------------------
2210
2197
# We are nice and report a bit about our settings
2556
2543
if ($opt_vs_config)
2558
return ("$glob_basedir/$path_part/$opt_vs_config/$exe");
2545
return ("$glob_bindir/$path_part/$opt_vs_config/$exe");
2561
return ("$glob_basedir/$path_part/release/$exe",
2562
"$glob_basedir/$path_part/relwithdebinfo/$exe",
2563
"$glob_basedir/$path_part/debug/$exe");
2548
return ("$glob_bindir/$path_part/release/$exe",
2549
"$glob_bindir/$path_part/relwithdebinfo/$exe",
2550
"$glob_bindir/$path_part/debug/$exe");
2566
2553
##############################################################################
4007
3994
my $slave_load_path= "../tmp";
4008
3995
mtr_add_arg($args, "%s--slave-load-tmpdir=%s", $prefix,
4009
3996
$slave_load_path);
4010
mtr_add_arg($args, "%s--set-variable=slave_net_timeout=120", $prefix);
3997
mtr_add_arg($args, "%s--slave_net_timeout=120", $prefix);
4012
3999
if ( @$slave_master_info )