You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
proxysql/test/tap/tests/test_empty_query-t.cpp

51 lines
1.0 KiB

/**
* @file test_empty_query-t.cpp
* @brief Simple test checking that empty queries are properly handled by ProxySQL.
*/
#include "mysql.h"
#include "tap.h"
#include "command_line.h"
#include "utils.h"
uint32_t EXECUTIONS = 100;
int main(int argc, char** argv) {
plan(1);
CommandLine cl;
if (cl.getEnv()) {
diag("Failed to get the required environmental variables.");
return EXIT_FAILURE;
}
MYSQL* proxy = mysql_init(NULL);
if (!mysql_real_connect(proxy, cl.host, cl.username, cl.password, NULL, cl.port, NULL, 0)) {
fprintf(stderr, "File %s, line %d, Error: %s\n", __FILE__, __LINE__, mysql_error(proxy));
return EXIT_FAILURE;
}
int exp_myerr = 1065;
int act_myerr = 0;
for (uint32_t i = 0; i < EXECUTIONS; i++) {
mysql_query(proxy, "");
act_myerr = mysql_errno(proxy);
if (exp_myerr != act_myerr) {
break;
}
}
ok(
exp_myerr == act_myerr, "MySQL error equals expected - exp_err: '%d', act_err: '%d' error: `%s`",
exp_myerr, act_myerr, mysql_error(proxy)
);
mysql_close(proxy);
return exit_status();
}