Made test-unit run in parlallel. This was achived by having all aria tests that uses temporary files to create the temporary file in an unique tempdirectory.
aria_chk now returns 1 if one got any warnings during check and 2 if one got errors. lp:728919 maria_chk should fail on all detected corruptions mysql-test/lib/My/SafeProcess.pm: Removed ^M lines from the file storage/maria/ma_check.c: Fixed indentation storage/maria/maria_chk.c: aria_chk now returns 1 if one got any warnings during check and 2 if one got errors. storage/maria/unittest/ma_control_file-t.c: Use unique sub directory for test results storage/maria/unittest/ma_maria_log_cleanup.c: Added help function create_tmpdir() storage/maria/unittest/ma_pagecache_consist.c: Use unique sub directory for test results storage/maria/unittest/ma_pagecache_rwconsist.c: Use unique sub directory for test results storage/maria/unittest/ma_pagecache_rwconsist2.c: Use unique sub directory for test results storage/maria/unittest/ma_pagecache_single.c: Use unique sub directory for test results storage/maria/unittest/ma_test_all-t: Use unique sub directory for test results storage/maria/unittest/ma_test_loghandler-t.c: Use unique sub directory for test results storage/maria/unittest/ma_test_loghandler_first_lsn-t.c: Use unique sub directory for test results remove delete of files that are already deleted by maria_log_remove() storage/maria/unittest/ma_test_loghandler_max_lsn-t.c: Use unique sub directory for test results storage/maria/unittest/ma_test_loghandler_multigroup-t.c: Use unique sub directory for test results storage/maria/unittest/ma_test_loghandler_multithread-t.c: Use unique sub directory for test results storage/maria/unittest/ma_test_loghandler_noflush-t.c: Use unique sub directory for test results remove delete of files that are already deleted by maria_log_remove() storage/maria/unittest/ma_test_loghandler_nologs-t.c: Use unique sub directory for test results storage/maria/unittest/ma_test_loghandler_pagecache-t.c: Use unique sub directory for test results remove delete of files that are already deleted by maria_log_remove() storage/maria/unittest/ma_test_loghandler_purge-t.c: Use unique sub directory for test results support-files/compiler_warnings.supp: Supress some warnings unittest/unit.pl: Run 4 unittests in parallel
This commit is contained in:
parent
1779c2adbf
commit
5933619ceb
@ -86,17 +86,17 @@ sub is_child {
|
||||
|
||||
my @safe_process_cmd;
|
||||
my $safe_kill;
|
||||
my $bindir;
|
||||
if(defined $ENV{MTR_BINDIR})
|
||||
{
|
||||
# This is an out-of-source build. Build directory
|
||||
# is given in MTR_BINDIR env.variable
|
||||
$bindir = $ENV{MTR_BINDIR}."/mysql-test";
|
||||
}
|
||||
else
|
||||
{
|
||||
$bindir = ".";
|
||||
}
|
||||
my $bindir;
|
||||
if(defined $ENV{MTR_BINDIR})
|
||||
{
|
||||
# This is an out-of-source build. Build directory
|
||||
# is given in MTR_BINDIR env.variable
|
||||
$bindir = $ENV{MTR_BINDIR}."/mysql-test";
|
||||
}
|
||||
else
|
||||
{
|
||||
$bindir = ".";
|
||||
}
|
||||
|
||||
# Find the safe process binary or script
|
||||
sub find_bin {
|
||||
|
@ -234,14 +234,14 @@ int maria_chk_del(HA_CHECK *param, register MARIA_HA *info,
|
||||
{
|
||||
if (test_flag & T_VERBOSE) puts("");
|
||||
_ma_check_print_error(param,"Can't read delete-link at filepos: %s",
|
||||
llstr(next_link,buff));
|
||||
llstr(next_link,buff));
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
if (*buff != '\0')
|
||||
{
|
||||
if (test_flag & T_VERBOSE) puts("");
|
||||
_ma_check_print_error(param,"Record at pos: %s is not remove-marked",
|
||||
llstr(next_link,buff));
|
||||
llstr(next_link,buff));
|
||||
goto wrong;
|
||||
}
|
||||
if (share->options & HA_OPTION_PACK_RECORD)
|
||||
@ -250,7 +250,9 @@ int maria_chk_del(HA_CHECK *param, register MARIA_HA *info,
|
||||
if (empty && prev_link != old_link)
|
||||
{
|
||||
if (test_flag & T_VERBOSE) puts("");
|
||||
_ma_check_print_error(param,"Deleted block at %s doesn't point back at previous delete link",llstr(next_link,buff2));
|
||||
_ma_check_print_error(param,
|
||||
"Deleted block at %s doesn't point back at previous delete link",
|
||||
llstr(next_link,buff2));
|
||||
goto wrong;
|
||||
}
|
||||
old_link=next_link;
|
||||
@ -269,23 +271,23 @@ int maria_chk_del(HA_CHECK *param, register MARIA_HA *info,
|
||||
if (empty != share->state.state.empty)
|
||||
{
|
||||
_ma_check_print_warning(param,
|
||||
"Found %s deleted space in delete link chain. Should be %s",
|
||||
llstr(empty,buff2),
|
||||
llstr(share->state.state.empty,buff));
|
||||
"Found %s deleted space in delete link chain. Should be %s",
|
||||
llstr(empty,buff2),
|
||||
llstr(share->state.state.empty,buff));
|
||||
}
|
||||
if (next_link != HA_OFFSET_ERROR)
|
||||
{
|
||||
_ma_check_print_error(param,
|
||||
"Found more than the expected %s deleted rows in delete link chain",
|
||||
llstr(share->state.state.del, buff));
|
||||
"Found more than the expected %s deleted rows in delete link chain",
|
||||
llstr(share->state.state.del, buff));
|
||||
goto wrong;
|
||||
}
|
||||
if (i != 0)
|
||||
{
|
||||
_ma_check_print_error(param,
|
||||
"Found %s deleted rows in delete link chain. Should be %s",
|
||||
llstr(share->state.state.del - i, buff2),
|
||||
llstr(share->state.state.del, buff));
|
||||
"Found %s deleted rows in delete link chain. Should be %s",
|
||||
llstr(share->state.state.del - i, buff2),
|
||||
llstr(share->state.state.del, buff));
|
||||
goto wrong;
|
||||
}
|
||||
}
|
||||
@ -423,8 +425,8 @@ int maria_chk_size(HA_CHECK *param, register MARIA_HA *info)
|
||||
ulonglong2double(share->state.state.key_file_length) >
|
||||
ulonglong2double(share->base.margin_key_file_length)*0.9)
|
||||
_ma_check_print_warning(param,"Keyfile is almost full, %10s of %10s used",
|
||||
llstr(share->state.state.key_file_length,buff),
|
||||
llstr(share->base.max_key_file_length-1,buff));
|
||||
llstr(share->state.state.key_file_length,buff),
|
||||
llstr(share->base.max_key_file_length-1,buff));
|
||||
|
||||
size= my_seek(info->dfile.file, 0L, MY_SEEK_END, MYF(0));
|
||||
skr=(my_off_t) share->state.state.data_file_length;
|
||||
@ -448,8 +450,8 @@ int maria_chk_size(HA_CHECK *param, register MARIA_HA *info)
|
||||
else
|
||||
{
|
||||
_ma_check_print_warning(param,
|
||||
"Size of datafile is: %-9s Should be: %s",
|
||||
llstr(size,buff), llstr(skr,buff2));
|
||||
"Size of datafile is: %-9s Should be: %s",
|
||||
llstr(size,buff), llstr(skr,buff2));
|
||||
}
|
||||
}
|
||||
if (!(param->testflag & T_VERY_SILENT) &&
|
||||
@ -457,8 +459,8 @@ int maria_chk_size(HA_CHECK *param, register MARIA_HA *info)
|
||||
ulonglong2double(share->state.state.data_file_length) >
|
||||
(ulonglong2double(share->base.max_data_file_length)*0.9))
|
||||
_ma_check_print_warning(param, "Datafile is almost full, %10s of %10s used",
|
||||
llstr(share->state.state.data_file_length,buff),
|
||||
llstr(share->base.max_data_file_length-1,buff2));
|
||||
llstr(share->state.state.data_file_length,buff),
|
||||
llstr(share->base.max_data_file_length-1,buff2));
|
||||
DBUG_RETURN(error);
|
||||
} /* maria_chk_size */
|
||||
|
||||
|
@ -938,7 +938,13 @@ static void get_options(register int *argc,register char ***argv)
|
||||
} /* get options */
|
||||
|
||||
|
||||
/* Check table */
|
||||
/**
|
||||
Check/repair table
|
||||
|
||||
@return 0 table is ok
|
||||
@return 1 Got warning during check
|
||||
@return 2 Got error during check/repair.
|
||||
*/
|
||||
|
||||
static int maria_chk(HA_CHECK *param, char *filename)
|
||||
{
|
||||
@ -1404,6 +1410,7 @@ end2:
|
||||
|
||||
if (param->error_printed)
|
||||
{
|
||||
error= 2;
|
||||
if (param->testflag & (T_REP_ANY | T_SORT_RECORDS | T_SORT_INDEX))
|
||||
{
|
||||
VOID(fprintf(stderr,
|
||||
@ -1422,8 +1429,12 @@ end2:
|
||||
else if (param->warning_printed &&
|
||||
! (param->testflag & (T_REP_ANY | T_SORT_RECORDS | T_SORT_INDEX |
|
||||
T_FORCE_CREATE)))
|
||||
{
|
||||
if (!error)
|
||||
error= 1;
|
||||
VOID(fprintf(stderr, "Aria table '%s' is usable but should be fixed\n",
|
||||
filename));
|
||||
}
|
||||
VOID(fflush(stderr));
|
||||
DBUG_RETURN(error);
|
||||
} /* maria_chk */
|
||||
@ -1754,14 +1765,14 @@ static int maria_sort_records(HA_CHECK *param,
|
||||
{
|
||||
_ma_check_print_warning(param,
|
||||
"Can't sort table '%s' on key %d; No such key",
|
||||
name,sort_key+1);
|
||||
name,sort_key+1);
|
||||
param->error_printed=0;
|
||||
DBUG_RETURN(0); /* Nothing to do */
|
||||
}
|
||||
if (keyinfo->flag & HA_FULLTEXT)
|
||||
{
|
||||
_ma_check_print_warning(param,"Can't sort table '%s' on FULLTEXT key %d",
|
||||
name,sort_key+1);
|
||||
name,sort_key+1);
|
||||
param->error_printed=0;
|
||||
DBUG_RETURN(0); /* Nothing to do */
|
||||
}
|
||||
|
@ -117,6 +117,26 @@ static CONTROL_FILE_ERROR local_ma_control_file_open(void)
|
||||
return error;
|
||||
}
|
||||
|
||||
static char *create_tmpdir(const char *progname)
|
||||
{
|
||||
static char test_dirname[FN_REFLEN];
|
||||
char tmp_name[FN_REFLEN];
|
||||
uint length;
|
||||
|
||||
/* Create a temporary directory of name TMP-'executable', but without the -t extension */
|
||||
fn_format(tmp_name, progname, "", "", MY_REPLACE_DIR | MY_REPLACE_EXT);
|
||||
length= strlen(tmp_name);
|
||||
if (length > 2 && tmp_name[length-2] == '-' && tmp_name[length-1] == 't')
|
||||
tmp_name[length-2]= 0;
|
||||
strxmov(test_dirname, "TMP-", tmp_name, NullS);
|
||||
|
||||
/*
|
||||
Don't give an error if we can't create dir, as it may already exist from a previously aborted
|
||||
run
|
||||
*/
|
||||
(void) my_mkdir(test_dirname, 0777, MYF(0));
|
||||
return test_dirname;
|
||||
}
|
||||
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
@ -124,11 +144,12 @@ int main(int argc,char *argv[])
|
||||
MY_INIT(argv[0]);
|
||||
my_init();
|
||||
|
||||
maria_data_root= (char *)".";
|
||||
default_error_handler_hook= error_handler_hook;
|
||||
|
||||
plan(12);
|
||||
|
||||
maria_data_root= create_tmpdir(argv[0]);
|
||||
|
||||
diag("Unit tests for control file");
|
||||
|
||||
get_options(argc,argv);
|
||||
@ -155,6 +176,9 @@ int main(int argc,char *argv[])
|
||||
ok(0 == test_bad_blocksize(), "test of bad blocksize");
|
||||
ok(0 == test_bad_size(), "test of too small/big file");
|
||||
|
||||
delete_file(0);
|
||||
rmdir(maria_data_root);
|
||||
|
||||
return exit_status();
|
||||
}
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include "../maria_def.h"
|
||||
#include <my_dir.h>
|
||||
|
||||
my_bool maria_log_remove()
|
||||
my_bool maria_log_remove(const char *testdir)
|
||||
{
|
||||
MY_DIR *dirp;
|
||||
uint i;
|
||||
@ -59,6 +59,28 @@ my_bool maria_log_remove()
|
||||
}
|
||||
}
|
||||
my_dirend(dirp);
|
||||
if (testdir)
|
||||
rmdir(testdir);
|
||||
return 0;
|
||||
}
|
||||
|
||||
char *create_tmpdir(const char *progname)
|
||||
{
|
||||
static char test_dirname[FN_REFLEN];
|
||||
char tmp_name[FN_REFLEN];
|
||||
uint length;
|
||||
|
||||
/* Create a temporary directory of name TMP-'executable', but without the -t extension */
|
||||
fn_format(tmp_name, progname, "", "", MY_REPLACE_DIR | MY_REPLACE_EXT);
|
||||
length= strlen(tmp_name);
|
||||
if (length > 2 && tmp_name[length-2] == '-' && tmp_name[length-1] == 't')
|
||||
tmp_name[length-2]= 0;
|
||||
strxmov(test_dirname, "TMP-", tmp_name, NullS);
|
||||
|
||||
/*
|
||||
Don't give an error if we can't create dir, as it may already exist from a previously aborted
|
||||
run
|
||||
*/
|
||||
(void) my_mkdir(test_dirname, 0777, MYF(0));
|
||||
return test_dirname;
|
||||
}
|
||||
|
@ -30,7 +30,8 @@
|
||||
static const char* default_dbug_option;
|
||||
#endif
|
||||
|
||||
static char *file1_name= (char*)"page_cache_test_file_1";
|
||||
static const char *base_file1_name= "page_cache_test_file_1";
|
||||
static char file1_name[FN_REFLEN];
|
||||
static PAGECACHE_FILE file1;
|
||||
static pthread_cond_t COND_thread_count;
|
||||
static pthread_mutex_t LOCK_thread_count;
|
||||
@ -330,6 +331,27 @@ static void *test_thread_writer(void *arg)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static char *create_tmpdir(const char *progname)
|
||||
{
|
||||
static char test_dirname[FN_REFLEN];
|
||||
char tmp_name[FN_REFLEN];
|
||||
uint length;
|
||||
|
||||
/* Create a temporary directory of name TMP-'executable', but without the -t extension */
|
||||
fn_format(tmp_name, progname, "", "", MY_REPLACE_DIR | MY_REPLACE_EXT);
|
||||
length= strlen(tmp_name);
|
||||
if (length > 2 && tmp_name[length-2] == '-' && tmp_name[length-1] == 't')
|
||||
tmp_name[length-2]= 0;
|
||||
strxmov(test_dirname, "TMP-", tmp_name, NullS);
|
||||
|
||||
/*
|
||||
Don't give an error if we can't create dir, as it may already exist from a previously aborted
|
||||
run
|
||||
*/
|
||||
(void) my_mkdir(test_dirname, 0777, MYF(0));
|
||||
return test_dirname;
|
||||
}
|
||||
|
||||
|
||||
int main(int argc __attribute__((unused)),
|
||||
char **argv __attribute__((unused)))
|
||||
@ -337,7 +359,6 @@ int main(int argc __attribute__((unused)),
|
||||
pthread_t tid;
|
||||
pthread_attr_t thr_attr;
|
||||
int *param, error, pagen;
|
||||
|
||||
MY_INIT(argv[0]);
|
||||
|
||||
#ifndef DBUG_OFF
|
||||
@ -357,9 +378,13 @@ int main(int argc __attribute__((unused)),
|
||||
DBUG_ENTER("main");
|
||||
DBUG_PRINT("info", ("Main thread: %s\n", my_thread_name()));
|
||||
plan(number_of_writers + number_of_readers);
|
||||
|
||||
SKIP_BIG_TESTS(number_of_writers + number_of_readers)
|
||||
{
|
||||
|
||||
char *test_dirname= create_tmpdir(argv[0]);
|
||||
fn_format(file1_name, base_file1_name, test_dirname, "", MYF(0));
|
||||
|
||||
if ((file1.file= my_open(file1_name,
|
||||
O_CREAT | O_TRUNC | O_RDWR, MYF(0))) == -1)
|
||||
{
|
||||
@ -491,6 +516,7 @@ int main(int argc __attribute__((unused)),
|
||||
DBUG_PRINT("info", ("file1 (%d) closed", file1.file));
|
||||
DBUG_PRINT("info", ("Program end"));
|
||||
|
||||
rmdir(test_dirname);
|
||||
} /* SKIP_BIG_TESTS */
|
||||
my_end(0);
|
||||
|
||||
|
@ -33,7 +33,8 @@ static const char* default_dbug_option;
|
||||
|
||||
#define SLEEP my_sleep(5)
|
||||
|
||||
static char *file1_name= (char*)"page_cache_test_file_1";
|
||||
static const char *base_file1_name= "page_cache_test_file_1";
|
||||
static char file1_name[FN_REFLEN];
|
||||
static PAGECACHE_FILE file1;
|
||||
static pthread_cond_t COND_thread_count;
|
||||
static pthread_mutex_t LOCK_thread_count;
|
||||
@ -200,6 +201,27 @@ static void *test_thread_writer(void *arg)
|
||||
return 0;
|
||||
}
|
||||
|
||||
char *create_tmpdir(const char *progname)
|
||||
{
|
||||
static char test_dirname[FN_REFLEN];
|
||||
char tmp_name[FN_REFLEN];
|
||||
uint length;
|
||||
|
||||
/* Create a temporary directory of name TMP-'executable', but without the -t extension */
|
||||
fn_format(tmp_name, progname, "", "", MY_REPLACE_DIR | MY_REPLACE_EXT);
|
||||
length= strlen(tmp_name);
|
||||
if (length > 2 && tmp_name[length-2] == '-' && tmp_name[length-1] == 't')
|
||||
tmp_name[length-2]= 0;
|
||||
strxmov(test_dirname, "TMP-", tmp_name, NullS);
|
||||
|
||||
/*
|
||||
Don't give an error if we can't create dir, as it may already exist from a previously aborted
|
||||
run
|
||||
*/
|
||||
(void) my_mkdir(test_dirname, 0777, MYF(0));
|
||||
return test_dirname;
|
||||
}
|
||||
|
||||
|
||||
int main(int argc __attribute__((unused)),
|
||||
char **argv __attribute__((unused)))
|
||||
@ -230,6 +252,9 @@ int main(int argc __attribute__((unused)),
|
||||
SKIP_BIG_TESTS(number_of_writers + number_of_readers)
|
||||
{
|
||||
|
||||
char *test_dirname= create_tmpdir(argv[0]);
|
||||
fn_format(file1_name, base_file1_name, test_dirname, "", MYF(0));
|
||||
|
||||
if ((file1.file= my_open(file1_name,
|
||||
O_CREAT | O_TRUNC | O_RDWR, MYF(0))) == -1)
|
||||
{
|
||||
@ -355,6 +380,8 @@ int main(int argc __attribute__((unused)),
|
||||
|
||||
DBUG_PRINT("info", ("file1 (%d) closed", file1.file));
|
||||
DBUG_PRINT("info", ("Program end"));
|
||||
|
||||
rmdir(test_dirname);
|
||||
} /* SKIP_BIG_TESTS */
|
||||
my_end(0);
|
||||
|
||||
|
@ -40,7 +40,8 @@ static const char* default_dbug_option;
|
||||
|
||||
#define SLEEP my_sleep(5)
|
||||
|
||||
static char *file1_name= (char*)"page_cache_test_file_1";
|
||||
static const char *base_file1_name= "page_cache_test_file_1";
|
||||
static char file1_name[FN_REFLEN];
|
||||
static PAGECACHE_FILE file1;
|
||||
static pthread_cond_t COND_thread_count;
|
||||
static pthread_mutex_t LOCK_thread_count;
|
||||
@ -196,6 +197,27 @@ static void *test_thread_writer(void *arg)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static char *create_tmpdir(const char *progname)
|
||||
{
|
||||
static char test_dirname[FN_REFLEN];
|
||||
char tmp_name[FN_REFLEN];
|
||||
uint length;
|
||||
|
||||
/* Create a temporary directory of name TMP-'executable', but without the -t extension */
|
||||
fn_format(tmp_name, progname, "", "", MY_REPLACE_DIR | MY_REPLACE_EXT);
|
||||
length= strlen(tmp_name);
|
||||
if (length > 2 && tmp_name[length-2] == '-' && tmp_name[length-1] == 't')
|
||||
tmp_name[length-2]= 0;
|
||||
strxmov(test_dirname, "TMP-", tmp_name, NullS);
|
||||
|
||||
/*
|
||||
Don't give an error if we can't create dir, as it may already exist from a previously aborted
|
||||
run
|
||||
*/
|
||||
(void) my_mkdir(test_dirname, 0777, MYF(0));
|
||||
return test_dirname;
|
||||
}
|
||||
|
||||
|
||||
int main(int argc __attribute__((unused)),
|
||||
char **argv __attribute__((unused)))
|
||||
@ -226,6 +248,9 @@ int main(int argc __attribute__((unused)),
|
||||
SKIP_BIG_TESTS(number_of_writers + number_of_readers)
|
||||
{
|
||||
|
||||
char *test_dirname= create_tmpdir(argv[0]);
|
||||
fn_format(file1_name, base_file1_name, test_dirname, "", MYF(0));
|
||||
|
||||
if ((file1.file= my_open(file1_name,
|
||||
O_CREAT | O_TRUNC | O_RDWR, MYF(0))) == -1)
|
||||
{
|
||||
@ -350,6 +375,8 @@ int main(int argc __attribute__((unused)),
|
||||
|
||||
DBUG_PRINT("info", ("file1 (%d) closed", file1.file));
|
||||
DBUG_PRINT("info", ("Program end"));
|
||||
|
||||
rmdir(test_dirname);
|
||||
} /* SKIP_BIG_TESTS */
|
||||
my_end(0);
|
||||
|
||||
|
@ -35,8 +35,9 @@ static const char* default_dbug_option;
|
||||
#define SKIP_BIG_TESTS(X) /* no-op */
|
||||
#endif
|
||||
|
||||
static char *file1_name= (char*)"page_cache_test_file_1";
|
||||
static char *file2_name= (char*)"page_cache_test_file_2";
|
||||
static const char *base_file1_name= "page_cache_test_file_1";
|
||||
static const char *base_file2_name= "page_cache_test_file_2";
|
||||
static char file1_name[FN_REFLEN], file2_name[FN_REFLEN];
|
||||
static PAGECACHE_FILE file1;
|
||||
static pthread_cond_t COND_thread_count;
|
||||
static pthread_mutex_t LOCK_thread_count;
|
||||
@ -720,6 +721,28 @@ static void *test_thread(void *arg)
|
||||
}
|
||||
|
||||
|
||||
static char *create_tmpdir(const char *progname)
|
||||
{
|
||||
static char test_dirname[FN_REFLEN];
|
||||
char tmp_name[FN_REFLEN];
|
||||
uint length;
|
||||
|
||||
/* Create a temporary directory of name TMP-'executable', but without the -t extension */
|
||||
fn_format(tmp_name, progname, "", "", MY_REPLACE_DIR | MY_REPLACE_EXT);
|
||||
length= strlen(tmp_name);
|
||||
if (length > 2 && tmp_name[length-2] == '-' && tmp_name[length-1] == 't')
|
||||
tmp_name[length-2]= 0;
|
||||
strxmov(test_dirname, "TMP-", tmp_name, NullS);
|
||||
|
||||
/*
|
||||
Don't give an error if we can't create dir, as it may already exist from a previously aborted
|
||||
run
|
||||
*/
|
||||
(void) my_mkdir(test_dirname, 0777, MYF(0));
|
||||
return test_dirname;
|
||||
}
|
||||
|
||||
|
||||
int main(int argc __attribute__((unused)),
|
||||
char **argv __attribute__((unused)))
|
||||
{
|
||||
@ -748,6 +771,9 @@ int main(int argc __attribute__((unused)),
|
||||
plan(18);
|
||||
SKIP_BIG_TESTS(18)
|
||||
{
|
||||
char *test_dirname= create_tmpdir(argv[0]);
|
||||
fn_format(file1_name, base_file1_name, test_dirname, "", MYF(0));
|
||||
fn_format(file2_name, base_file2_name, test_dirname, "", MYF(0));
|
||||
|
||||
if ((tmp_file= my_open(file2_name, O_CREAT | O_TRUNC | O_RDWR,
|
||||
MYF(MY_WME))) < 0)
|
||||
@ -841,13 +867,13 @@ int main(int argc __attribute__((unused)),
|
||||
exit(1);
|
||||
|
||||
my_delete(file1_name, MYF(0));
|
||||
rmdir(test_dirname);
|
||||
|
||||
} /* SKIP_BIG_TESTS */
|
||||
DBUG_PRINT("info", ("file1 (%d) closed", file1.file));
|
||||
DBUG_PRINT("info", ("Program end"));
|
||||
|
||||
my_end(0);
|
||||
|
||||
}
|
||||
return exit_status();
|
||||
}
|
||||
|
@ -28,9 +28,10 @@ my $NEW_TEST= 0; # Test group separator in an array of tests
|
||||
my $test_begin= 0;
|
||||
my $test_end= 0;
|
||||
my $test_counter= 0;
|
||||
my $using_internal_tmpdir= 0;
|
||||
my $full_tmpdir;
|
||||
my $tmpdir="tmp";
|
||||
|
||||
my $exec_dir="TMP-ma_test_all"; # Run test in this directory
|
||||
run_tests();
|
||||
|
||||
####
|
||||
@ -60,7 +61,14 @@ sub run_tests
|
||||
print "$my_progname version $VER\n";
|
||||
exit(0);
|
||||
}
|
||||
$maria_path= dirname($0) . "/..";
|
||||
|
||||
if (! -d $exec_dir)
|
||||
{
|
||||
die if (!mkdir("$exec_dir"));
|
||||
}
|
||||
chdir($exec_dir);
|
||||
|
||||
$maria_path= "../" . dirname($0) . "/..";
|
||||
|
||||
my $suffix= ( $^O =~ /win/i && $^O !~ /darwin/i ) ? ".exe" : "";
|
||||
$maria_exe_path= "$maria_path/release";
|
||||
@ -76,7 +84,7 @@ sub run_tests
|
||||
$maria_exe_path= $maria_path;
|
||||
if ( ! -f "$maria_exe_path/ma_test1$suffix" )
|
||||
{
|
||||
die("Cannot find ma_test1 executable\n");
|
||||
die("Cannot find ma_test1 executable in $maria_path\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -90,7 +98,8 @@ sub run_tests
|
||||
}
|
||||
else
|
||||
{
|
||||
$full_tmpdir= "tmp";
|
||||
$full_tmpdir= $tmpdir;
|
||||
$using_internal_tmpdir= 1;
|
||||
if (! -d "$full_tmpdir")
|
||||
{
|
||||
die if (!mkdir("$full_tmpdir"));
|
||||
@ -227,6 +236,13 @@ sub run_tests
|
||||
run_tests_on_clrs($suffix, $opt_verbose, 0);
|
||||
|
||||
unlink_all_possible_tmp_files();
|
||||
if ($using_internal_tmpdir)
|
||||
{
|
||||
rmdir($tmpdir);
|
||||
}
|
||||
rmdir($exec_dir);
|
||||
chdir("..");
|
||||
rmdir($exec_dir);
|
||||
exit($runtime_error);
|
||||
}
|
||||
|
||||
@ -429,13 +445,16 @@ sub run_pack_tests()
|
||||
"cp test1.MAD test2.MAD",
|
||||
"cp test1.MAI test2.MAI",
|
||||
"$maria_exe_path/aria_pack$suffix --force -s --join=test3 test1 test2",
|
||||
"$maria_exe_path/aria_chk -s test3",
|
||||
"$maria_exe_path/aria_chk -s --safe-recover test3",
|
||||
"$maria_exe_path/aria_chk -s test3"
|
||||
);
|
||||
|
||||
return &count_tests(\@t) if ($count);
|
||||
return (&count_tests(\@t) + 3) if ($count);
|
||||
&run_test_bunch(\@t, $verbose, 0);
|
||||
|
||||
ok("$maria_exe_path/aria_chk -s test3", $verbose, 0, 1);
|
||||
@t= ("$maria_exe_path/aria_chk -s --safe-recover test3",
|
||||
"$maria_exe_path/aria_chk -s test3");
|
||||
&run_test_bunch(\@t, $verbose, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -463,7 +482,7 @@ sub run_tests_on_warnings_and_errors
|
||||
# maria_exe_path/aria_chk$suffix -h$tmpdir -sm $tmpdir/test2 will warn that
|
||||
# Datafile is almost full
|
||||
ok("$maria_exe_path/aria_chk$suffix -h$tmpdir -sm $tmpdir/test2 >ma_test2_message.txt 2>&1",
|
||||
$verbose, 0);
|
||||
$verbose, 0, 1);
|
||||
ok("cat ma_test2_message.txt", $verbose, 0);
|
||||
ok("grep \"warning: Datafile is almost full\" ma_test2_message.txt>/dev/null",
|
||||
$verbose, 0);
|
||||
@ -550,7 +569,7 @@ sub run_tests_on_clrs
|
||||
sub ok
|
||||
{
|
||||
my ($com, $verbose, $iteration, $expected_error)= @_;
|
||||
my ($msg, $output, $err, $len);
|
||||
my ($msg, $output, $err, $errcode, $len);
|
||||
|
||||
$test_counter++;
|
||||
if ($test_begin > $test_counter)
|
||||
@ -580,8 +599,9 @@ sub ok
|
||||
print " " x (62 - $len);
|
||||
}
|
||||
$err= $?;
|
||||
$errcode= ($? >> 8);
|
||||
if ((!$err && !$expected_error) ||
|
||||
(($err >> 8) == $expected_error && $expected_error))
|
||||
($errcode == $expected_error && $expected_error))
|
||||
{
|
||||
print "[ " if ($verbose);
|
||||
print "ok";
|
||||
@ -618,7 +638,7 @@ sub ok
|
||||
}
|
||||
$msg.= "at line ";
|
||||
$msg.= (caller)[2];
|
||||
$msg.= "\n(errcode: $err, test: $test_counter)\n";
|
||||
$msg.= "\n(errcode: $errcode, test: $test_counter)\n";
|
||||
if ($expected_error)
|
||||
{
|
||||
$msg.= "Was expecting errcode: $expected_error\n";
|
||||
@ -681,7 +701,7 @@ sub unlink_all_possible_tmp_files()
|
||||
unlink_log_files();
|
||||
|
||||
# Unlink tmp files that may have been created when testing the test programs
|
||||
unlink <$full_tmpdir/*.TMD aria_log_control aria_log.00000001 aria_log.00000002 aria_logtest1.MA? test2.MA? test3.MA?>;
|
||||
unlink <$full_tmpdir/*.TMD $full_tmpdir/aria_read_log_test1.txt $full_tmpdir/test1*.MA? $full_tmpdir/ma_test_recovery.output aria_log_control aria_log.00000001 aria_log.00000002 aria_logtest1.MA? test1.MA? test2.MA? test3.MA?>;
|
||||
}
|
||||
|
||||
####
|
||||
@ -733,6 +753,7 @@ Options
|
||||
might depend on previous ones.
|
||||
--start-from=... Alias for --run-tests
|
||||
--silent=... Silent option passed to ma_test* tests ('$opt_silent')
|
||||
--tmpdir=... Store tests data in this directory (works for most tests)
|
||||
--valgrind=... Options for valgrind.
|
||||
('$opt_valgrind')
|
||||
--verbose Be more verbose. Will print each unittest on a line
|
||||
|
@ -19,7 +19,8 @@
|
||||
#include <tap.h>
|
||||
#include "../trnman.h"
|
||||
|
||||
extern my_bool maria_log_remove();
|
||||
extern my_bool maria_log_remove(const char *testdir);
|
||||
extern char *create_tmpdir(const char *progname);
|
||||
extern void example_loghandler_init();
|
||||
|
||||
#ifndef DBUG_OFF
|
||||
@ -161,7 +162,6 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
LEX_CUSTRING parts[TRANSLOG_INTERNAL_PARTS + 3];
|
||||
struct st_translog_scanner_data scanner;
|
||||
int rc;
|
||||
|
||||
MY_INIT(argv[0]);
|
||||
|
||||
if (my_set_max_open_files(100) < 100)
|
||||
@ -170,9 +170,11 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
exit(1);
|
||||
}
|
||||
bzero(&pagecache, sizeof(pagecache));
|
||||
maria_data_root= (char *)".";
|
||||
if (maria_log_remove())
|
||||
|
||||
maria_data_root= create_tmpdir(argv[0]);
|
||||
if (maria_log_remove(0))
|
||||
exit(1);
|
||||
|
||||
/* We don't need to do physical syncs in this test */
|
||||
my_disable_sync= 1;
|
||||
|
||||
@ -207,7 +209,7 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
fprintf(stderr, "Got error: init_pagecache() (errno: %d)\n", errno);
|
||||
exit(1);
|
||||
}
|
||||
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
if (translog_init_with_table(maria_data_root, LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
LOG_FLAGS, 0, &translog_example_table_init,
|
||||
0))
|
||||
{
|
||||
@ -656,7 +658,7 @@ err:
|
||||
end_pagecache(&pagecache, 1);
|
||||
ma_control_file_end();
|
||||
|
||||
if (maria_log_remove())
|
||||
if (maria_log_remove(maria_data_root))
|
||||
exit(1);
|
||||
|
||||
return(test(exit_status()));
|
||||
|
@ -19,7 +19,8 @@
|
||||
#include <tap.h>
|
||||
#include "../trnman.h"
|
||||
|
||||
extern my_bool maria_log_remove();
|
||||
extern my_bool maria_log_remove(const char *testdir);
|
||||
extern char *create_tmpdir(const char *progname);
|
||||
extern void translog_example_table_init();
|
||||
|
||||
#ifndef DBUG_OFF
|
||||
@ -31,7 +32,6 @@ static const char *default_dbug_option;
|
||||
#define LOG_FILE_SIZE (1024L*1024L*1024L + 1024L*1024L*512)
|
||||
#define LOG_FLAGS 0
|
||||
|
||||
static char *first_translog_file= (char*)"maria_log.00000001";
|
||||
|
||||
int main(int argc __attribute__((unused)), char *argv[])
|
||||
{
|
||||
@ -40,18 +40,18 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
PAGECACHE pagecache;
|
||||
LSN lsn, first_lsn, theor_lsn;
|
||||
LEX_CUSTRING parts[TRANSLOG_INTERNAL_PARTS + 1];
|
||||
|
||||
MY_INIT(argv[0]);
|
||||
|
||||
plan(2);
|
||||
|
||||
bzero(&pagecache, sizeof(pagecache));
|
||||
maria_data_root= (char *)".";
|
||||
if (maria_log_remove())
|
||||
/*
|
||||
Don't give an error if we can't create dir, as it may already exist from a previously aborted
|
||||
run
|
||||
*/
|
||||
maria_data_root= create_tmpdir(argv[0]);
|
||||
if (maria_log_remove(0))
|
||||
exit(1);
|
||||
/* be sure that we have no logs in the directory*/
|
||||
my_delete(CONTROL_FILE_BASE_NAME, MYF(0));
|
||||
my_delete(first_translog_file, MYF(0));
|
||||
|
||||
bzero(long_tr_id, 6);
|
||||
#ifndef DBUG_OFF
|
||||
@ -78,9 +78,8 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
fprintf(stderr, "Got error: init_pagecache() (errno: %d)\n", errno);
|
||||
exit(1);
|
||||
}
|
||||
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
LOG_FLAGS, 0, &translog_example_table_init,
|
||||
0))
|
||||
if (translog_init_with_table(maria_data_root, LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
LOG_FLAGS, 0, &translog_example_table_init, 0))
|
||||
{
|
||||
fprintf(stderr, "Can't init loghandler (%d)\n", errno);
|
||||
exit(1);
|
||||
@ -154,7 +153,7 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
translog_destroy();
|
||||
end_pagecache(&pagecache, 1);
|
||||
ma_control_file_end();
|
||||
if (maria_log_remove())
|
||||
if (maria_log_remove(maria_data_root))
|
||||
exit(1);
|
||||
exit(0);
|
||||
}
|
||||
|
@ -19,7 +19,8 @@
|
||||
#include <tap.h>
|
||||
#include "../trnman.h"
|
||||
|
||||
extern my_bool maria_log_remove();
|
||||
extern my_bool maria_log_remove(const char *testdir);
|
||||
extern char *create_tmpdir(const char *progname);
|
||||
extern void translog_example_table_init();
|
||||
|
||||
#ifndef DBUG_OFF
|
||||
@ -40,14 +41,14 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
PAGECACHE pagecache;
|
||||
LSN lsn, max_lsn, last_lsn= LSN_IMPOSSIBLE;
|
||||
LEX_CUSTRING parts[TRANSLOG_INTERNAL_PARTS + 1];
|
||||
|
||||
MY_INIT(argv[0]);
|
||||
|
||||
plan(2);
|
||||
|
||||
bzero(&pagecache, sizeof(pagecache));
|
||||
maria_data_root= (char *)".";
|
||||
if (maria_log_remove())
|
||||
|
||||
maria_data_root= create_tmpdir(argv[0]);
|
||||
if (maria_log_remove(0))
|
||||
exit(1);
|
||||
|
||||
bzero(long_tr_id, 6);
|
||||
@ -75,7 +76,7 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
fprintf(stderr, "Got error: init_pagecache() (errno: %d)\n", errno);
|
||||
exit(1);
|
||||
}
|
||||
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
if (translog_init_with_table(maria_data_root, LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
LOG_FLAGS, 0, &translog_example_table_init,
|
||||
0))
|
||||
{
|
||||
@ -150,7 +151,7 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
translog_destroy();
|
||||
end_pagecache(&pagecache, 1);
|
||||
ma_control_file_end();
|
||||
if (maria_log_remove())
|
||||
if (maria_log_remove(maria_data_root))
|
||||
exit(1);
|
||||
exit(0);
|
||||
}
|
||||
|
@ -21,7 +21,8 @@
|
||||
#include "sequence_storage.h"
|
||||
#include <my_getopt.h>
|
||||
|
||||
extern my_bool maria_log_remove();
|
||||
extern my_bool maria_log_remove(const char *testdir);
|
||||
extern char *create_tmpdir(const char *progname);
|
||||
extern void translog_example_table_init();
|
||||
|
||||
#ifndef DBUG_OFF
|
||||
@ -238,21 +239,23 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
TRANSLOG_HEADER_BUFFER rec;
|
||||
LEX_CUSTRING parts[TRANSLOG_INTERNAL_PARTS + 2];
|
||||
struct st_translog_scanner_data scanner;
|
||||
const char *progname=argv[0];
|
||||
int rc;
|
||||
|
||||
MY_INIT(argv[0]);
|
||||
|
||||
bzero(&pagecache, sizeof(pagecache));
|
||||
maria_data_root= (char *)".";
|
||||
|
||||
load_defaults("my", load_default_groups, &argc, &argv);
|
||||
default_argv= argv;
|
||||
get_options(&argc, &argv);
|
||||
default_argv= argv;
|
||||
|
||||
bzero(&pagecache, sizeof(pagecache));
|
||||
maria_data_root= create_tmpdir(progname);
|
||||
if (maria_log_remove(0))
|
||||
exit(1);
|
||||
|
||||
/* We don't need to do physical syncs in this test */
|
||||
my_disable_sync= 1;
|
||||
|
||||
if (maria_log_remove())
|
||||
exit(1);
|
||||
|
||||
{
|
||||
uchar buff[4];
|
||||
for (i= 0; i < (LONG_BUFFER_SIZE + LSN_STORE_SIZE * 2 + 2); i++)
|
||||
@ -276,7 +279,7 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
fprintf(stderr, "Got error: init_pagecache() (errno: %d)\n", errno);
|
||||
exit(1);
|
||||
}
|
||||
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
if (translog_init_with_table(maria_data_root, LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
0, 0, &translog_example_table_init, 0))
|
||||
{
|
||||
fprintf(stderr, "Can't init loghandler (%d)\n", errno);
|
||||
@ -439,7 +442,7 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
fprintf(stderr, "pass2: Got error: init_pagecache() (errno: %d)\n", errno);
|
||||
exit(1);
|
||||
}
|
||||
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
if (translog_init_with_table(maria_data_root, LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
0, READONLY, &translog_example_table_init, 0))
|
||||
{
|
||||
fprintf(stderr, "pass2: Can't init loghandler (%d)\n", errno);
|
||||
@ -741,7 +744,7 @@ err:
|
||||
ma_control_file_end();
|
||||
free_defaults(default_argv);
|
||||
seq_storage_destroy(&seq);
|
||||
if (maria_log_remove())
|
||||
if (maria_log_remove(maria_data_root))
|
||||
exit(1);
|
||||
|
||||
return (test(exit_status()));
|
||||
|
@ -19,8 +19,8 @@
|
||||
#include <tap.h>
|
||||
#include "../trnman.h"
|
||||
|
||||
extern my_bool maria_log_remove();
|
||||
extern void translog_example_table_init();
|
||||
extern my_bool maria_log_remove(const char *testdir);
|
||||
extern char *create_tmpdir(const char *progname);
|
||||
|
||||
#ifndef DBUG_OFF
|
||||
static const char *default_dbug_option;
|
||||
@ -268,6 +268,7 @@ int main(int argc __attribute__((unused)),
|
||||
pthread_attr_t thr_attr;
|
||||
int *param, error;
|
||||
int rc;
|
||||
MY_INIT(argv[0]);
|
||||
|
||||
plan(WRITERS + FLUSHERS +
|
||||
ITERATIONS * WRITERS * 3 + FLUSH_ITERATIONS * FLUSHERS );
|
||||
@ -275,7 +276,10 @@ int main(int argc __attribute__((unused)),
|
||||
my_disable_sync= 1;
|
||||
|
||||
bzero(&pagecache, sizeof(pagecache));
|
||||
maria_data_root= (char *)".";
|
||||
maria_data_root= create_tmpdir(argv[0]);
|
||||
if (maria_log_remove(0))
|
||||
exit(1);
|
||||
|
||||
long_buffer= malloc(LONG_BUFFER_SIZE + 7 * 2 + 2);
|
||||
if (long_buffer == 0)
|
||||
{
|
||||
@ -285,11 +289,6 @@ int main(int argc __attribute__((unused)),
|
||||
for (i= 0; i < (LONG_BUFFER_SIZE + 7 * 2 + 2); i++)
|
||||
long_buffer[i]= (i & 0xFF);
|
||||
|
||||
MY_INIT(argv[0]);
|
||||
if (maria_log_remove())
|
||||
exit(1);
|
||||
|
||||
|
||||
#ifndef DBUG_OFF
|
||||
#if defined(__WIN__)
|
||||
default_dbug_option= "d:t:i:O,\\ma_test_loghandler.trace";
|
||||
@ -347,7 +346,7 @@ int main(int argc __attribute__((unused)),
|
||||
fprintf(stderr, "Got error: init_pagecache() (errno: %d)\n", errno);
|
||||
exit(1);
|
||||
}
|
||||
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
if (translog_init_with_table(maria_data_root, LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
LOG_FLAGS, 0, &translog_example_table_init,
|
||||
0))
|
||||
{
|
||||
@ -546,7 +545,7 @@ err:
|
||||
translog_destroy();
|
||||
end_pagecache(&pagecache, 1);
|
||||
ma_control_file_end();
|
||||
if (maria_log_remove())
|
||||
if (maria_log_remove(maria_data_root))
|
||||
exit(1);
|
||||
|
||||
return(exit_status());
|
||||
|
@ -19,7 +19,8 @@
|
||||
#include <tap.h>
|
||||
#include "../trnman.h"
|
||||
|
||||
extern my_bool maria_log_remove();
|
||||
extern my_bool maria_log_remove(const char *testdir);
|
||||
extern char *create_tmpdir(const char *progname);
|
||||
extern void translog_example_table_init();
|
||||
|
||||
#ifndef DBUG_OFF
|
||||
@ -31,8 +32,6 @@ static const char *default_dbug_option;
|
||||
#define LOG_FILE_SIZE (1024L*1024L*1024L + 1024L*1024L*512)
|
||||
#define LOG_FLAGS 0
|
||||
|
||||
static char *first_translog_file= (char*)"maria_log.00000001";
|
||||
|
||||
int main(int argc __attribute__((unused)), char *argv[])
|
||||
{
|
||||
uint pagen;
|
||||
@ -49,12 +48,9 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
plan(1);
|
||||
|
||||
bzero(&pagecache, sizeof(pagecache));
|
||||
maria_data_root= (char *)".";
|
||||
if (maria_log_remove())
|
||||
maria_data_root= create_tmpdir(argv[0]);
|
||||
if (maria_log_remove(0))
|
||||
exit(1);
|
||||
/* be sure that we have no logs in the directory*/
|
||||
my_delete(CONTROL_FILE_BASE_NAME, MYF(0));
|
||||
my_delete(first_translog_file, MYF(0));
|
||||
|
||||
bzero(long_tr_id, 6);
|
||||
#ifndef DBUG_OFF
|
||||
@ -81,7 +77,7 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
fprintf(stderr, "Got error: init_pagecache() (errno: %d)\n", errno);
|
||||
exit(1);
|
||||
}
|
||||
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
if (translog_init_with_table(maria_data_root, LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
LOG_FLAGS, 0, &translog_example_table_init,
|
||||
0))
|
||||
{
|
||||
@ -139,7 +135,7 @@ err:
|
||||
translog_destroy();
|
||||
end_pagecache(&pagecache, 1);
|
||||
ma_control_file_end();
|
||||
if (maria_log_remove())
|
||||
if (maria_log_remove(maria_data_root))
|
||||
exit(1);
|
||||
|
||||
exit(rc);
|
||||
|
@ -19,8 +19,8 @@
|
||||
#include <tap.h>
|
||||
#include "../trnman.h"
|
||||
|
||||
extern my_bool maria_log_remove();
|
||||
extern void example_loghandler_init();
|
||||
extern my_bool maria_log_remove(const char *testdir);
|
||||
extern char *create_tmpdir(const char *progname);
|
||||
|
||||
#ifndef DBUG_OFF
|
||||
static const char *default_dbug_option;
|
||||
@ -49,8 +49,8 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
|
||||
bzero(&pagecache, sizeof(pagecache));
|
||||
bzero(long_buffer, LONG_BUFFER_SIZE);
|
||||
maria_data_root= (char *)".";
|
||||
if (maria_log_remove())
|
||||
maria_data_root= create_tmpdir(argv[0]);
|
||||
if (maria_log_remove(0))
|
||||
exit(1);
|
||||
|
||||
bzero(long_tr_id, 6);
|
||||
@ -78,7 +78,7 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
fprintf(stderr, "Got error: init_pagecache() (errno: %d)\n", errno);
|
||||
exit(1);
|
||||
}
|
||||
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
if (translog_init_with_table(maria_data_root, LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
LOG_FLAGS, 0, &translog_example_table_init,
|
||||
0))
|
||||
{
|
||||
@ -151,7 +151,7 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
fprintf(stderr, "Got error: init_pagecache() (errno: %d)\n", errno);
|
||||
exit(1);
|
||||
}
|
||||
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
if (translog_init_with_table(maria_data_root, LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
LOG_FLAGS, 0, &translog_example_table_init,
|
||||
1))
|
||||
{
|
||||
@ -189,7 +189,7 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
|
||||
ok(1, "New log is OK");
|
||||
|
||||
if (maria_log_remove())
|
||||
if (maria_log_remove(maria_data_root))
|
||||
exit(1);
|
||||
exit(0);
|
||||
}
|
||||
|
@ -19,8 +19,8 @@
|
||||
#include <tap.h>
|
||||
#include "../trnman.h"
|
||||
|
||||
extern my_bool maria_log_remove();
|
||||
extern void translog_example_table_init();
|
||||
extern my_bool maria_log_remove(const char *testdir);
|
||||
extern char *create_tmpdir(const char *progname);
|
||||
|
||||
#ifndef DBUG_OFF
|
||||
static const char *default_dbug_option;
|
||||
@ -31,8 +31,10 @@ static const char *default_dbug_option;
|
||||
#define LOG_FILE_SIZE (1024L*1024L*1024L + 1024L*1024L*512)
|
||||
#define LOG_FLAGS 0
|
||||
|
||||
static char *first_translog_file= (char*)"aria_log.00000001";
|
||||
static char *file1_name= (char*)"page_cache_test_file_1";
|
||||
static const char *base_first_translog_file= "aria_log.00000001";
|
||||
static const char *base_file1_name= "page_cache_test_file_1";
|
||||
static char file1_name[FN_REFLEN], first_translog_file[FN_REFLEN];
|
||||
|
||||
static PAGECACHE_FILE file1;
|
||||
|
||||
|
||||
@ -68,18 +70,15 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
LSN lsn;
|
||||
my_off_t file_size;
|
||||
LEX_CUSTRING parts[TRANSLOG_INTERNAL_PARTS + 1];
|
||||
|
||||
MY_INIT(argv[0]);
|
||||
|
||||
plan(1);
|
||||
|
||||
bzero(&pagecache, sizeof(pagecache));
|
||||
maria_data_root= (char *)".";
|
||||
if (maria_log_remove())
|
||||
maria_data_root= create_tmpdir(argv[0]);
|
||||
if (maria_log_remove(0))
|
||||
exit(1);
|
||||
/* be sure that we have no logs in the directory*/
|
||||
my_delete(CONTROL_FILE_BASE_NAME, MYF(0));
|
||||
my_delete(first_translog_file, MYF(0));
|
||||
fn_format(first_translog_file, base_first_translog_file, maria_data_root, "", MYF(0));
|
||||
|
||||
bzero(long_tr_id, 6);
|
||||
#ifndef DBUG_OFF
|
||||
@ -106,7 +105,7 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
fprintf(stderr, "Got error: init_pagecache() (errno: %d)\n", errno);
|
||||
exit(1);
|
||||
}
|
||||
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
if (translog_init_with_table(maria_data_root, LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
LOG_FLAGS, 0, &translog_example_table_init,
|
||||
0))
|
||||
{
|
||||
@ -145,6 +144,7 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
exit(1);
|
||||
}
|
||||
|
||||
fn_format(file1_name, base_file1_name, maria_data_root, "", MYF(0));
|
||||
if ((file1.file= my_open(file1_name,
|
||||
O_CREAT | O_TRUNC | O_RDWR, MYF(0))) == -1)
|
||||
{
|
||||
@ -192,9 +192,9 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
translog_destroy();
|
||||
end_pagecache(&pagecache, 1);
|
||||
ma_control_file_end();
|
||||
my_delete(CONTROL_FILE_BASE_NAME, MYF(0));
|
||||
my_delete(first_translog_file, MYF(0));
|
||||
my_delete(file1_name, MYF(0));
|
||||
my_delete(file1_name, MYF(MY_WME));
|
||||
|
||||
if (maria_log_remove(maria_data_root))
|
||||
exit(1);
|
||||
exit(0);
|
||||
}
|
||||
|
@ -19,8 +19,8 @@
|
||||
#include <tap.h>
|
||||
#include "../trnman.h"
|
||||
|
||||
extern my_bool maria_log_remove();
|
||||
extern void translog_example_table_init();
|
||||
extern my_bool maria_log_remove(const char *testdir);
|
||||
extern char *create_tmpdir(const char *progname);
|
||||
|
||||
#ifndef DBUG_OFF
|
||||
static const char *default_dbug_option;
|
||||
@ -49,8 +49,8 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
|
||||
bzero(&pagecache, sizeof(pagecache));
|
||||
bzero(long_buffer, LONG_BUFFER_SIZE);
|
||||
maria_data_root= (char *)".";
|
||||
if (maria_log_remove())
|
||||
maria_data_root= create_tmpdir(argv[0]);
|
||||
if (maria_log_remove(0))
|
||||
exit(1);
|
||||
|
||||
bzero(long_tr_id, 6);
|
||||
@ -78,7 +78,7 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
fprintf(stderr, "Got error: init_pagecache() (errno: %d)\n", errno);
|
||||
exit(1);
|
||||
}
|
||||
if (translog_init_with_table(".", LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
if (translog_init_with_table(maria_data_root, LOG_FILE_SIZE, 50112, 0, &pagecache,
|
||||
LOG_FLAGS, 0, &translog_example_table_init,
|
||||
0))
|
||||
{
|
||||
@ -186,7 +186,7 @@ int main(int argc __attribute__((unused)), char *argv[])
|
||||
translog_destroy();
|
||||
end_pagecache(&pagecache, 1);
|
||||
ma_control_file_end();
|
||||
if (maria_log_remove())
|
||||
if (maria_log_remove(maria_data_root))
|
||||
exit(1);
|
||||
exit(0);
|
||||
}
|
||||
|
@ -183,3 +183,10 @@ ctype-simple\.c : .*unary minus operator applied to unsigned type, result still
|
||||
regexec\.c : passing argument 3 of.*matcher.* discards qualifiers from pointer target type
|
||||
libmysql\.c: passing argument 2 of .*memcpy.* discards qualifiers from pointer target type : 3000-4000
|
||||
storage/xtradb/dict/dict0dict\.c : passing argument 1 of .*strcpy.* discards qualifiers from pointer target type : 2500-3500
|
||||
|
||||
#
|
||||
# Strange things from autoconf that is probably safe to ignore
|
||||
#
|
||||
|
||||
configure.in : warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
|
||||
configure.in : config/ac-macros/character_sets.m4.*prefer named diversions
|
||||
|
@ -103,6 +103,7 @@ sub run_cmd (@) {
|
||||
# Removing the first './' from the file names
|
||||
foreach (@files) { s!^\./!! }
|
||||
$ENV{'HARNESS_PERL_SWITCHES'} .= ' -e "exec @ARGV"';
|
||||
$ENV{'HARNESS_OPTIONS'}="j4";
|
||||
$Test::Harness::Timer = 1;
|
||||
runtests @files;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user