config root man

Current Path : /home/usr.opt/mysql57/mysql-test/suite/innodb/t/

FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64
Upload File :
Current File : //home/usr.opt/mysql57/mysql-test/suite/innodb/t/innodb-multiple-tablespaces.test

#
# These test make sure that tables are visible after rebooting
#

--source include/have_innodb.inc

# Embedded server does not support crashing
--source include/not_embedded.inc

# Avoid CrashReporter popup on Mac
#--source include/not_crashrep.inc

SET default_storage_engine=InnoDB;

--disable_query_log
LET $MYSQLD_DATADIR = `select @@datadir`;
LET $INNODB_PAGE_SIZE = `select @@innodb_page_size`;
LET $data_directory = DATA DIRECTORY='$MYSQL_TMP_DIR/alt_dir';
--enable_query_log

--mkdir $MYSQL_TMP_DIR/alt_dir
--mkdir $MYSQL_TMP_DIR/alt_dir/test
--mkdir $MYSQL_TMP_DIR/new_dir
--mkdir $MYSQL_TMP_DIR/new_dir/test

--disable_query_log
# These errors are expected in the error log for this test.
call mtr.add_suppression("\\[ERROR\\] InnoDB: A tablespace for `test/.*` has been found in multiple places");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Cannot open datafile for read-only:");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Could not find a valid tablespace file for ");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Default location:");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Dictionary location:");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Error number 11 means 'Resource temporarily unavailable'");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Error number 35 means 'Resource temporarily unavailable'");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Error number 38 means 'Function not implemented'.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Failed to find tablespace for table `test`.`.*` in the cache. Attempting to load");
call mtr.add_suppression("\\[ERROR\\] InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: In file '.*', tablespace id and flags are .* but in the InnoDB data dictionary they are");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Operating system error number 2 in a file operation.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Operating system error number 11 in a file operation.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Operating system error number 35 in a file operation.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Operating system error number 38 in a file operation.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Remote location:");
call mtr.add_suppression("\\[ERROR\\] InnoDB: The error means the system cannot find the path specified.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Will not open tablespace `test/.*`");
call mtr.add_suppression("\\[Warning\\] InnoDB: Cannot calculate statistics for table `test`\.`.*` because the \.ibd file is missing");
call mtr.add_suppression("\\[Warning\\] InnoDB: Ignoring tablespace `test/.*` because it could not be opened.");
--enable_query_log

--echo #
--echo # Test when tablespaces can be found at multiple places
--echo # SYS_DATAFILES will refer to the file at alt_dir.
--echo # Link File will refer to the file at new_dir.
--echo #  Tablename   Default   SYS_DATAFILES    Link_File
--echo #      yyy       Yes          Yes            Yes
--echo #      nyy       No           Yes            Yes
--echo #      yny       Yes          No             Yes
--echo #      yyn       Yes          Yes            No
--echo #      nyw       No           Yes            WrongFile
--echo #      nwy       No           WrongFile      Yes
--echo #      wny       WrongFile    No             Yes
--echo #      ynw       Yes          No             WrongFile
--echo #      wyn       WrongFile    Yes            No
--echo #      ywn       Yes          WrongFile      No
--echo #      nnn       No           No             No
--echo #      www       WrongFile    WrongFile      WrongFile
--echo #   nolink       No           Yes, No ISL    No
--echo #

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE yyy (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO yyy VALUES (1, 'yyy');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE nyy (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO nyy VALUES (1, 'nyy');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE yny (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO yny VALUES (1, 'yny');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE yyn (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO yyn VALUES (1, 'yyn');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE nyw (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO nyw VALUES (1, 'nyw');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE nwy (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO nwy VALUES (1, 'nwy');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE wny (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO wny VALUES (1, 'wny');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE ynw (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO ynw VALUES (1, 'ynw');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE wyn (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO wyn VALUES (1, 'wyn');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE ywn (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO ywn VALUES (1, 'ywn');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE nnn (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO nnn VALUES (1, 'nnn');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE www (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO www VALUES (1, 'www');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE nolink (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO nolink VALUES (1, 'no link file');

--echo #
--echo # Shutdown the server, copy and remove files.
--echo #
--source include/shutdown_mysqld.inc

--echo ---- MYSQLD_DATADIR/test
--list_files $MYSQLD_DATADIR/test
--echo ---- MYSQL_TMP_DIR/alt_dir/test
--list_files $MYSQL_TMP_DIR/alt_dir/test
--echo ---- MYSQL_TMP_DIR/new_dir/test
--list_files $MYSQL_TMP_DIR/new_dir/test

--echo # YYY; Tablespace found in 3 places
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yyy.ibd $MYSQLD_DATADIR/test/yyy.ibd
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yyy.ibd $MYSQL_TMP_DIR/new_dir/test/yyy.ibd
--exec echo $MYSQL_TMP_DIR/new_dir/test/yyy.ibd > $MYSQLD_DATADIR/test/yyy.isl

--echo # NYY; Tablespace found in alt_dir and new_dir
--copy_file $MYSQL_TMP_DIR/alt_dir/test/nyy.ibd $MYSQL_TMP_DIR/new_dir/test/nyy.ibd
--exec echo $MYSQL_TMP_DIR/new_dir/test/nyy.ibd > $MYSQLD_DATADIR/test/nyy.isl

--echo # YNY; Tablespace found in default and new_dir
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yny.ibd $MYSQLD_DATADIR/test/yny.ibd
--move_file $MYSQL_TMP_DIR/alt_dir/test/yny.ibd $MYSQL_TMP_DIR/new_dir/test/yny.ibd
--exec echo $MYSQL_TMP_DIR/new_dir/test/yny.ibd > $MYSQLD_DATADIR/test/yny.isl

--echo # YYN; Tablespace found in default and alt_dir
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yyn.ibd $MYSQLD_DATADIR/test/yyn.ibd

--echo # NYW; Copy the wrong file to new_dir
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yyy.ibd $MYSQL_TMP_DIR/new_dir/test/nyw.ibd
--exec echo $MYSQL_TMP_DIR/new_dir/test/nyw.ibd > $MYSQLD_DATADIR/test/nyw.isl

--echo # NWY; Move the wrong file to alt_dir, good one to new_dir.
--move_file $MYSQL_TMP_DIR/alt_dir/test/nwy.ibd $MYSQL_TMP_DIR/new_dir/test/nwy.ibd
--exec echo $MYSQL_TMP_DIR/new_dir/test/nwy.ibd > $MYSQLD_DATADIR/test/nwy.isl
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yyy.ibd $MYSQL_TMP_DIR/alt_dir/test/nwy.ibd

--echo # WNY; Move the wrong file to default, good one to new_dir, delete it form alt_dir
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yyy.ibd $MYSQLD_DATADIR/test/wny.ibd
--move_file $MYSQL_TMP_DIR/alt_dir/test/wny.ibd $MYSQL_TMP_DIR/new_dir/test/wny.ibd
--exec echo $MYSQL_TMP_DIR/new_dir/test/wny.ibd > $MYSQLD_DATADIR/test/wny.isl

--echo # YNW; Move the file to default, wrong one to new_dir, delete it form alt_dir
--copy_file $MYSQL_TMP_DIR/alt_dir/test/ynw.ibd $MYSQLD_DATADIR/test/ynw.ibd
--remove_file $MYSQL_TMP_DIR/alt_dir/test/ynw.ibd
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yyy.ibd $MYSQL_TMP_DIR/new_dir/test/ynw.ibd
--exec echo $MYSQL_TMP_DIR/new_dir/test/ynw.ibd > $MYSQLD_DATADIR/test/ynw.isl

--echo # WYN; Copy the wrong file to default
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yyy.ibd $MYSQLD_DATADIR/test/wyn.ibd

--echo # YWN; Move the file to default, wrong one to alt_dir
--copy_file $MYSQL_TMP_DIR/alt_dir/test/ywn.ibd $MYSQLD_DATADIR/test/ywn.ibd
-- remove_file $MYSQL_TMP_DIR/alt_dir/test/ywn.ibd
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yyy.ibd $MYSQL_TMP_DIR/alt_dir/test/ywn.ibd

--echo # NNN; Delete the tablespace and ISL
--remove_file $MYSQLD_DATADIR/test/nnn.isl
--remove_file $MYSQL_TMP_DIR/alt_dir/test/nnn.ibd

--echo # WWW; Put the wrong file in all three locations
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yyy.ibd $MYSQLD_DATADIR/test/www.ibd
--remove_file $MYSQL_TMP_DIR/alt_dir/test/www.ibd
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yyy.ibd $MYSQL_TMP_DIR/alt_dir/test/www.ibd
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yyy.ibd $MYSQL_TMP_DIR/new_dir/test/www.ibd
--exec echo $MYSQL_TMP_DIR/new_dir/test/www.ibd > $MYSQLD_DATADIR/test/www.isl

--echo # NOLINK; Delete the ISL file Since remote location is still in SYS_DATAFILES,
--echo # it should still be found. And the ISL file should be re-created.
--remove_file $MYSQLD_DATADIR/test/nolink.isl

--echo # Make a backup of this tablespace to use later.
--copy_file $MYSQL_TMP_DIR/alt_dir/test/nolink.ibd $MYSQL_TMP_DIR/alt_dir/test/nolink.ibd.bak

--echo ---- MYSQLD_DATADIR/test
--list_files $MYSQLD_DATADIR/test
--echo ---- MYSQL_TMP_DIR/alt_dir/test
--list_files $MYSQL_TMP_DIR/alt_dir/test
--echo ---- MYSQL_TMP_DIR/new_dir/test
--list_files $MYSQL_TMP_DIR/new_dir/test

--echo #
--echo # Start the server and show the tablespaces.
--echo #
--source include/start_mysqld.inc

--source suite/innodb/include/show_i_s_tablespaces.inc

--error ER_TABLESPACE_MISSING
SELECT * FROM yyy;
--error ER_TABLESPACE_MISSING
SELECT * FROM nyy;
--error ER_TABLESPACE_MISSING
SELECT * FROM yny;
--error ER_TABLESPACE_MISSING
SELECT * FROM yyn;
SELECT * FROM nyw;
SELECT * FROM nwy;
SELECT * FROM wny;
SELECT * FROM ynw;
SELECT * FROM wyn;
SELECT * FROM ywn;
--error ER_TABLESPACE_MISSING
SELECT * FROM nnn;
--error ER_TABLESPACE_MISSING
SELECT * FROM www;
SELECT * FROM nolink;

--error ER_TABLESPACE_MISSING
SHOW CREATE TABLE yyy;
--error ER_TABLESPACE_MISSING
SHOW CREATE TABLE nyy;
--error ER_TABLESPACE_MISSING
SHOW CREATE TABLE yny;
--error ER_TABLESPACE_MISSING
SHOW CREATE TABLE yyn;
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE nyw;
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE nwy;
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE wny;
SHOW CREATE TABLE ynw;
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE wyn;
SHOW CREATE TABLE ywn;
--error ER_TABLESPACE_MISSING
SHOW CREATE TABLE nnn;
--error ER_TABLESPACE_MISSING
SHOW CREATE TABLE www;
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE nolink;

--echo #
--echo # List of files before DROP TABLES
--echo #
--echo ---- MYSQLD_DATADIR/test
--list_files $MYSQLD_DATADIR/test
--echo ---- MYSQL_TMP_DIR/alt_dir/test
--list_files $MYSQL_TMP_DIR/alt_dir/test
--echo ---- MYSQL_TMP_DIR/new_dir/test
--list_files $MYSQL_TMP_DIR/new_dir/test

--echo #
--echo # Restart the server and DROP the tablespaces.
--echo #
--source include/restart_mysqld.inc

DROP TABLE yyy;
DROP TABLE nyy;
DROP TABLE yny;
DROP TABLE yyn;
DROP TABLE nyw;
DROP TABLE nwy;
DROP TABLE wny;
DROP TABLE ynw;
DROP TABLE wyn;
DROP TABLE ywn;
DROP TABLE nnn;
DROP TABLE www;
DROP TABLE nolink;

--echo #
--echo # List of files not deleted by the DROP TABLES
--echo #
--echo ---- MYSQLD_DATADIR/test
--list_files $MYSQLD_DATADIR/test
--echo ---- MYSQL_TMP_DIR/alt_dir/test
--list_files $MYSQL_TMP_DIR/alt_dir/test
--echo ---- MYSQL_TMP_DIR/new_dir/test
--list_files $MYSQL_TMP_DIR/new_dir/test

--remove_file $MYSQLD_DATADIR/test/www.ibd
--remove_file $MYSQLD_DATADIR/test/wny.ibd
--remove_file $MYSQLD_DATADIR/test/wyn.ibd
--remove_file $MYSQLD_DATADIR/test/yny.ibd
--remove_file $MYSQLD_DATADIR/test/yyn.ibd
--remove_file $MYSQLD_DATADIR/test/yyy.ibd
--remove_file $MYSQL_TMP_DIR/alt_dir/test/nwy.ibd
--remove_file $MYSQL_TMP_DIR/alt_dir/test/nyy.ibd
--remove_file $MYSQL_TMP_DIR/alt_dir/test/www.ibd
--remove_file $MYSQL_TMP_DIR/alt_dir/test/ywn.ibd
--remove_file $MYSQL_TMP_DIR/alt_dir/test/yyn.ibd
--remove_file $MYSQL_TMP_DIR/alt_dir/test/yyy.ibd
--remove_file $MYSQL_TMP_DIR/new_dir/test/nyw.ibd
--remove_file $MYSQL_TMP_DIR/new_dir/test/nyy.ibd
--remove_file $MYSQL_TMP_DIR/new_dir/test/www.ibd
--remove_file $MYSQL_TMP_DIR/new_dir/test/ynw.ibd
--remove_file $MYSQL_TMP_DIR/new_dir/test/yny.ibd
--remove_file $MYSQL_TMP_DIR/new_dir/test/yyy.ibd

--echo #
--echo # List of files after removing leftover files
--echo #
--echo ---- MYSQLD_DATADIR/test
--list_files $MYSQLD_DATADIR/test
--echo ---- MYSQL_TMP_DIR/alt_dir/test
--list_files $MYSQL_TMP_DIR/alt_dir/test
--echo ---- MYSQL_TMP_DIR/new_dir/test
--list_files $MYSQL_TMP_DIR/new_dir/test

--echo #
--echo # Create some tables again and this time, crash instead of shutdown
--echo # InnoDB recovery uses MLOG_FILE_records in the REDO log to find the
--echo # previous location of a tablespace since the dictionary is not
--echo # available.  During recovery InnoDB will choose a file from multiple
--echo # locations based on this priority;
--echo #    1. Default location:
--echo #         General Tablespace = datadir
--echo #         File-per-table = datadir/dbname
--echo #    2. ISL location: if the ISL file exists.
--echo #    3. REDO log record location from MLOG_FILE_NAME record.
--echo #
--echo # Test recovery when tablespaces can be found at multiple places.
--echo # In each case except the control tablespace, the ISL file will
--echo # exist with a file name in alt_dir.  'fnolink.ibd.bak' is the
--echo # source of the 'wrong' tablespaces.
--echo #
--echo # Tablename   Default_Tablespace  Remote_Tablespace
--echo #    ny              No                  Yes
--echo #    wy              Wrong               Yes
--echo #    yn              Yes                 No
--echo #    yw              Yes                 Wrong
--echo #    yy              Yes                 Yes  (both the same file)
--echo #

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE ny (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO ny VALUES (1, 'ny');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE wy (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO wy VALUES (1, 'wy');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE yn (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO yn VALUES (1, 'yn');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE yw (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO yw VALUES (1, 'yw');

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
eval CREATE TABLE yy (c1 INT KEY, c2 TEXT) ENGINE=InnoDB  $data_directory;
INSERT INTO yy VALUES (1, 'yy');

--echo #
--echo # Crash the server, copy and remove files.
--echo #
--source include/no_checkpoint_start.inc

BEGIN;
INSERT INTO ny VALUES (2, 'ny');
INSERT INTO wy VALUES (2, 'wy');
INSERT INTO yn VALUES (2, 'yn');
INSERT INTO yw VALUES (2, 'yw');
INSERT INTO yy VALUES (2, 'yy');

SELECT * FROM ny;
SELECT * FROM wy;
SELECT * FROM yn;
SELECT * FROM yw;
SELECT * FROM yy;

--let CLEANUP_IF_CHECKPOINT=drop table ny,wy,yn,yw,yy;
--let CLEANUP_FILES_IF_CHECKPOINT=--source suite/innodb/include/innodb-multiple-tablespaces-cleanup.inc

#This will kill the server
--source include/no_checkpoint_end.inc

--echo #
--echo # Now that the engine is not running, move files around to test various scenarios.
--echo #

--echo # NY; Tablespace found in alt_dir but not the default directory.

--echo # WY; The wrong tablespace is found in the default directory
--echo #     and the correct one in alt_dir.
--copy_file $MYSQL_TMP_DIR/alt_dir/test/nolink.ibd.bak $MYSQLD_DATADIR/test/wy.ibd

--echo # YW; Tablespace is found in the default directory but the wrong file in alt_dir.
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yw.ibd $MYSQLD_DATADIR/test/yw.ibd
--remove_file  $MYSQL_TMP_DIR/alt_dir/test/yw.ibd
--copy_file $MYSQL_TMP_DIR/alt_dir/test/nolink.ibd.bak $MYSQL_TMP_DIR/alt_dir/test/yw.ibd

--echo # YN; Tablespace found the default directory but not in alt_dir.
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yn.ibd $MYSQLD_DATADIR/test/yn.ibd
--remove_file $MYSQL_TMP_DIR/alt_dir/test/yn.ibd

--echo # YY; Found in both default directory and alt-dir.
--copy_file $MYSQL_TMP_DIR/alt_dir/test/yy.ibd $MYSQLD_DATADIR/test/yy.ibd

--echo ---- MYSQLD_DATADIR/test
--list_files $MYSQLD_DATADIR/test
--echo ---- MYSQL_TMP_DIR/alt_dir/test
--list_files $MYSQL_TMP_DIR/alt_dir/test

let SEARCH_FILE= $MYSQLTEST_VARDIR/log/my_restart.err;
let $mysqld=$MYSQLD_CMD --core-file --console > $SEARCH_FILE 2>&1;

--echo # restoring yn.ibd, yw.ibd
--copy_file $MYSQLD_DATADIR/test/yn.ibd $MYSQL_TMP_DIR/alt_dir/test/yn.ibd
--remove_file $MYSQLD_DATADIR/test/yn.ibd
--remove_file  $MYSQL_TMP_DIR/alt_dir/test/yw.ibd
--copy_file $MYSQLD_DATADIR/test/yw.ibd $MYSQL_TMP_DIR/alt_dir/test/yw.ibd
--remove_file  $MYSQLD_DATADIR/test/yw.ibd


--source include/start_mysqld.inc

SELECT * FROM ny;
SELECT * FROM wy;
SELECT * FROM yn;
SELECT * FROM yw;
SELECT * FROM yy;

--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE ny;
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE wy;
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE yn;
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE yw;
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR
SHOW CREATE TABLE yy;

--source suite/innodb/include/show_i_s_tablespaces.inc

--echo #
--echo # List of files before removing unused files
--echo #

DROP TABLE ny;
DROP TABLE wy;
DROP TABLE yn;
DROP TABLE yw;
DROP TABLE yy;

--echo #
--echo # List of files after DROP TABLES
--echo #
--echo ---- MYSQLD_DATADIR/test
--list_files $MYSQLD_DATADIR/test
--echo ---- MYSQL_TMP_DIR/alt_dir/test
--list_files $MYSQL_TMP_DIR/alt_dir/test

--remove_file $MYSQLD_DATADIR/test/wy.ibd
--remove_file $MYSQL_TMP_DIR/alt_dir/test/yy.ibd
--remove_file $MYSQL_TMP_DIR/alt_dir/test/nolink.ibd.bak

--rmdir $MYSQL_TMP_DIR/alt_dir/test
--rmdir $MYSQL_TMP_DIR/alt_dir
--rmdir $MYSQL_TMP_DIR/new_dir/test
--rmdir $MYSQL_TMP_DIR/new_dir

Man Man