Merge pull request #2779 from sysown/v2.1.0-tap-wait-replication

TAP: wait until table is replicated
pull/2828/head
René Cannaò 6 years ago committed by GitHub
commit 15c53161b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -20,7 +20,7 @@ int main(int argc, char** argv) {
if(cl.getEnv())
return exit_status();
plan(10);
plan(1);
diag("Testing PS host groups routing");
MYSQL* mysqladmin = mysql_init(NULL);
@ -70,20 +70,13 @@ int main(int argc, char** argv) {
std::string query = "SELECT * FROM test.test1";
if (mysql_stmt_prepare(stmt, query.c_str(), query.size())) {
fprintf(stderr, "Query error %s\n", mysql_error(mysql));
ok(false, "Query error %s\n", mysql_error(mysql));
mysql_close(mysql);
mysql_library_end();
return exit_status();
}
ok(true, "Statement prepared");
if (mysql_stmt_execute(stmt))
{
fprintf(stderr, " mysql_stmt_execute(), failed\n");
ok(false, " %s\n", mysql_stmt_error(stmt));
return exit_status();
}
ok(true, "Statement executed");
MYSQL_QUERY(mysql, "update test.test1 set c1='aaaaaa'");
MYSQL_BIND bind[2];
char char_data0[STRING_SIZE];
@ -107,76 +100,30 @@ int main(int argc, char** argv) {
bind[1].length= &length[1];
bind[1].error= &error[1];
if (mysql_stmt_bind_result(stmt, bind))
{
fprintf(stderr, " mysql_stmt_bind_result() failed\n");
ok(false, " %s\n", mysql_stmt_error(stmt));
return exit_status();
}
if (mysql_stmt_store_result(stmt))
{
fprintf(stderr, " mysql_stmt_store_result() failed\n");
ok(false, " %s\n", mysql_stmt_error(stmt));
return exit_status();
}
ok(true, "Result stored");
while (!mysql_stmt_fetch(stmt)) {
ok(strcmp((char*)bind[0].buffer, "abcdef") == 0 && strcmp((char*)bind[1].buffer, "abcdef") == 0, "Data received");
}
ok(true, "Result fetched");
MYSQL_QUERY(mysql, "update test.test1 set c1='aaaaaa'");
ok(true, "Record is updated");
if (mysql_stmt_execute(stmt))
{
fprintf(stderr, " mysql_stmt_execute(), failed\n");
ok(false, " %s\n", mysql_stmt_error(stmt));
return exit_status();
}
ok(true, "Statement executed second time");
bind[0].buffer_type= MYSQL_TYPE_STRING;
bind[0].buffer= (char *)&char_data0;
bind[0].buffer_length= STRING_SIZE;
bind[0].is_null= &is_null[0];
bind[0].length= &length[0];
bind[0].error= &error[0];
bind[1].buffer_type= MYSQL_TYPE_STRING;
bind[1].buffer= (char *)&char_data1;
bind[1].buffer_length= STRING_SIZE;
bind[1].is_null= &is_null[1];
bind[1].length= &length[1];
bind[1].error= &error[1];
if (mysql_stmt_bind_result(stmt, bind))
{
fprintf(stderr, " mysql_stmt_bind_result() failed\n");
ok(false, " %s\n", mysql_stmt_error(stmt));
return exit_status();
}
if (mysql_stmt_store_result(stmt))
{
fprintf(stderr, " mysql_stmt_store_result() failed\n");
ok(false, " %s\n", mysql_stmt_error(stmt));
return exit_status();
}
ok(true, "Result stored");
while (!mysql_stmt_fetch(stmt)) {
ok(strcmp((char*)bind[0].buffer, "aaaaaa") == 0, "Read value that was updated. Expected [aaaaaa]. Actual [%s]", bind[0].buffer);
}
ok(true, "Result fetched");
if (mysql_stmt_close(stmt))
{
fprintf(stderr, " failed while closing the statement\n");
ok(false, " %s\n", mysql_error(mysql));
return exit_status();
}

Loading…
Cancel
Save