Merge with MySQL 5.1.53

Open issues:
- A better fix for #57688; Igor is working on this
- Test failure in index_merge_innodb.test ; Igor promised to look at this
- Some Innodb tests fails (need to merge with latest xtradb) ; Kristian promised to look at this.
 - Failing tests: innodb_plugin.innodb_bug56143 innodb_plugin.innodb_bug56632 innodb_plugin.innodb_bug56680 innodb_plugin.innodb_bug57255 
- Werror is disabled;  Should be enabled after merge with xtradb.
This commit is contained in:
Michael Widenius 2010-11-25 00:57:34 +02:00
commit 1a6373e8e2
184 changed files with 6256 additions and 722 deletions

View file

@ -18,11 +18,11 @@
int main() {
plan(4);
ok(1, NULL);
ok(1, NULL);
ok1(1);
ok1(1);
SKIP_BLOCK_IF(1, 2, "Example of skipping a few test points in a test") {
ok(1, NULL);
ok(1, NULL);
ok1(1);
ok1(1);
}
return exit_status();
}

View file

@ -31,9 +31,9 @@ int main() {
if (!has_feature())
skip_all("Example of skipping an entire test");
plan(4);
ok(1, NULL);
ok(1, NULL);
ok(1, NULL);
ok(1, NULL);
ok1(1);
ok1(1);
ok1(1);
ok1(1);
return exit_status();
}

View file

@ -21,15 +21,15 @@
int main()
{
plan(4);
ok(1, NULL);
ok(1, NULL);
ok1(1);
ok1(1);
/*
Tests in the todo region is expected to fail. If they don't,
something is strange.
*/
todo_start("Need to fix these");
ok(0, NULL);
ok(0, NULL);
ok1(0);
ok1(0);
todo_end();
return exit_status();
}

View file

@ -22,7 +22,7 @@ int main() {
plan(5);
ok(1 == 1, "testing basic functions");
ok(2 == 2, " ");
ok(3 == 3, NULL);
ok1(3 == 3);
if (1 == 1)
skip(2, "Sensa fragoli");
else {

View file

@ -244,6 +244,23 @@ ok(int pass, char const *fmt, ...)
emit_endl();
}
void
ok1(int const pass)
{
va_list ap;
memset(&ap, 0, sizeof(ap));
if (!pass && *g_test.todo == '\0')
++g_test.failed;
vemit_tap(pass, NULL, ap);
if (*g_test.todo != '\0')
emit_dir("todo", g_test.todo);
emit_endl();
}
void
skip(int how_many, char const *fmt, ...)

View file

@ -121,14 +121,25 @@ void plan(int count);
@endcode
@param pass Zero if the test failed, non-zero if it passed.
@param fmt Format string in printf() format. NULL is allowed, in
which case nothing is printed.
@param fmt Format string in printf() format. NULL is not allowed,
use ok1() in this case.
*/
void ok(int pass, char const *fmt, ...)
__attribute__((format(printf,2,3)));
/**
Report test result as a TAP line.
Same as ok() but does not take a message to be printed.
@param pass Zero if the test failed, non-zero if it passed.
*/
void ok1(int const pass);
/**
Skip a determined number of tests.