Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Fixed
-
10.0.3
-
None
-
Fedora 18. bzr pull from lp:maria trunk
bzr version-info
revision-id: svoj@mariadb.org-20130627111848-b8kc0z60ywwpqavz
date: 2013-06-27 15:18:48 +0400
build-date: 2013-06-29 15:42:46 -0400
revno: 3762
branch-nick: trunk
Description
The rpl_binlog_index.test fails to clean up $tmpdir because files still exist. The files aren't cleaned up due to a missing slash in the tmpdir path.
Logging: ./mysql-test-run rpl_binlog_index
|
vardir: /home/ebergen/bzr/maria/trunk/mysql-test/var
|
Checking leftover processes...
|
Removing old var directory...
|
Creating var directory '/home/ebergen/bzr/maria/trunk/mysql-test/var'...
|
Checking supported features...
|
MariaDB Version 10.0.3-MariaDB
|
Installing system database...
|
- skipping SSL, mysqld not compiled with SSL
|
Collecting tests...
|
Using server port 36585
|
|
==============================================================================
|
|
TEST RESULT TIME (ms) or COMMENT
|
--------------------------------------------------------------------------
|
|
worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
|
rpl.rpl_binlog_index 'row' [ fail ]
|
Test ended at 2013-06-29 15:46:08
|
|
CURRENT_TEST: rpl.rpl_binlog_index
|
/home/ebergen/bzr/maria/trunk/client/mysqltest: Error on delete of '/home/ebergen/bzr/maria/trunk/mysql-test/var/mysqld.2/data//slave-relay-bin.index' (Errcode: 2 "No such file or directory")
|
/home/ebergen/bzr/maria/trunk/client/mysqltest: Error on delete of '/home/ebergen/bzr/maria/trunk/mysql-test/var/mysqld.2/data//relay-log.info' (Errcode: 2 "No such file or directory")
|
/home/ebergen/bzr/maria/trunk/client/mysqltest: Can't get stat of '/home/ebergen/bzr/maria/trunk/mysql-test/var/tmp/833775f7-e0f4-11e2-bb3f-00224d9f45a0master-bin.state' (Errcode: 2 "No such file or directory")
|
/home/ebergen/bzr/maria/trunk/client/mysqltest: Can't get stat of '/home/ebergen/bzr/maria/trunk/mysql-test/var/tmp/833775f7-e0f4-11e2-bb3f-00224d9f45a0slave-bin.000003' (Errcode: 2 "No such file or directory")
|
/home/ebergen/bzr/maria/trunk/client/mysqltest: Can't get stat of '/home/ebergen/bzr/maria/trunk/mysql-test/var/tmp/833775f7-e0f4-11e2-bb3f-00224d9f45a0slave-bin.000002' (Errcode: 2 "No such file or directory")
|
/home/ebergen/bzr/maria/trunk/client/mysqltest: Can't get stat of '/home/ebergen/bzr/maria/trunk/mysql-test/var/tmp/833775f7-e0f4-11e2-bb3f-00224d9f45a0slave-bin.state' (Errcode: 2 "No such file or directory")
|
mysqltest: At line 193: command "rmdir" failed with error: 1 my_errno: 2 errno: 39
|
Just in case, I re-checked it on Fedora 18 64-bit with BUILD/compile-pentium64 (as discussed on IRC). As expected, still no failure.
According to mysqltest code, the trailing slash should not be needed. The test fails to remove files in remove_files_wildcard
191: --echo # remove tmpdir
192: --remove_files_wildcard $tmpdir *
193: --rmdir $tmpdir
But mysqltest in do_remove_files_wildcard explicitly adds a separator after a dirname:
init_dynamic_string(&ds_file_to_remove, dirname, 1024, 1024);
dir_separator[0]= FN_LIBCHAR;
dynstr_append_mem(&ds_file_to_remove, dir_separator, 1);
directory_length= ds_file_to_remove.length;
And FN_LIBCHAR is defined in my_global.h:
#ifdef _WIN32
#define FN_LIBCHAR '
'
...
#else
#define FN_LIBCHAR '/'
...
#endif
Since you are building from sources anyway, can you add a debugging print or run mysqltest under debugger to see what your FN_LIBCHAR is in mysqltest.cc:do_remove_files_wildcard ?
Could you please also run the following test to see how it goes?
--let $dirname= `SELECT uuid()`
--let $tmpdir= $MYSQLTEST_VARDIR/$dirname
--mkdir $tmpdir
--write_file $tmpdir/abcd.file
test
EOF
--list_files $MYSQLTEST_VARDIR/$dirname *
--remove_files_wildcard $tmpdir *
--rmdir $tmpdir
--echo # All good
Thanks.