Compile core unit tests as C++

Since the core source is C++, the tests should also be C++.
This commit is contained in:
Markus Mäkelä
2017-04-28 22:45:55 +03:00
parent 758dc72f06
commit 6f24c04a4f
22 changed files with 85 additions and 84 deletions

View File

@ -1,27 +1,27 @@
add_executable(test_atomic testatomic.c) add_executable(test_atomic testatomic.cc)
add_executable(test_adminusers testadminusers.c) add_executable(test_adminusers testadminusers.cc)
add_executable(test_buffer testbuffer.c) add_executable(test_buffer testbuffer.cc)
add_executable(test_dcb testdcb.c) add_executable(test_dcb testdcb.cc)
add_executable(test_filter testfilter.c) add_executable(test_filter testfilter.cc)
add_executable(test_hash testhash.c) add_executable(test_hash testhash.cc)
add_executable(test_hint testhint.c) add_executable(test_hint testhint.cc)
add_executable(test_log testlog.c) add_executable(test_log testlog.cc)
add_executable(test_logorder testlogorder.c) add_executable(test_logorder testlogorder.cc)
add_executable(test_logthrottling testlogthrottling.cc) add_executable(test_logthrottling testlogthrottling.cc)
add_executable(test_modutil testmodutil.c) add_executable(test_modutil testmodutil.cc)
add_executable(test_poll testpoll.c) add_executable(test_poll testpoll.cc)
add_executable(test_queuemanager testqueuemanager.c) add_executable(test_queuemanager testqueuemanager.cc)
add_executable(test_semaphore testsemaphore.cc) add_executable(test_semaphore testsemaphore.cc)
add_executable(test_server testserver.c) add_executable(test_server testserver.cc)
add_executable(test_service testservice.c) add_executable(test_service testservice.cc)
add_executable(test_spinlock testspinlock.c) add_executable(test_spinlock testspinlock.cc)
add_executable(test_trxcompare testtrxcompare.cc ../../../query_classifier/test/testreader.cc) add_executable(test_trxcompare testtrxcompare.cc ../../../query_classifier/test/testreader.cc)
add_executable(test_trxtracking testtrxtracking.cc) add_executable(test_trxtracking testtrxtracking.cc)
add_executable(test_users testusers.c) add_executable(test_users testusers.cc)
add_executable(testfeedback testfeedback.c) add_executable(testfeedback testfeedback.cc)
add_executable(testmaxscalepcre2 testmaxscalepcre2.c) add_executable(testmaxscalepcre2 testmaxscalepcre2.cc)
add_executable(testmodulecmd testmodulecmd.c) add_executable(testmodulecmd testmodulecmd.cc)
add_executable(testconfig testconfig.c) add_executable(testconfig testconfig.cc)
add_executable(trxboundaryparser_profile trxboundaryparser_profile.cc) add_executable(trxboundaryparser_profile trxboundaryparser_profile.cc)
target_link_libraries(test_atomic maxscale-common) target_link_libraries(test_atomic maxscale-common)
target_link_libraries(test_adminusers maxscale-common) target_link_libraries(test_adminusers maxscale-common)

View File

@ -45,7 +45,7 @@
*/ */
uint8_t* generate_data(size_t count) uint8_t* generate_data(size_t count)
{ {
uint8_t* data = MXS_MALLOC(count); uint8_t* data = (uint8_t*)MXS_MALLOC(count);
MXS_ABORT_IF_NULL(data); MXS_ABORT_IF_NULL(data);
srand(0); srand(0);
@ -79,7 +79,7 @@ GWBUF* create_test_buffer()
uint8_t* data = generate_data(total); uint8_t* data = generate_data(total);
total = 0; total = 0;
for (int i = 0; i < sizeof(buffers) / sizeof(size_t); i++) for (size_t i = 0; i < sizeof(buffers) / sizeof(size_t); i++)
{ {
head = gwbuf_append(head, gwbuf_alloc_and_load(buffers[i], data + total)); head = gwbuf_append(head, gwbuf_alloc_and_load(buffers[i], data + total));
total += buffers[i]; total += buffers[i];
@ -104,7 +104,7 @@ int get_length_at(int n)
void split_buffer(int n, int offset) void split_buffer(int n, int offset)
{ {
int cutoff = get_length_at(n) + offset; size_t cutoff = get_length_at(n) + offset;
GWBUF* buffer = create_test_buffer(); GWBUF* buffer = create_test_buffer();
int len = gwbuf_length(buffer); int len = gwbuf_length(buffer);
GWBUF* newbuf = gwbuf_split(&buffer, cutoff); GWBUF* newbuf = gwbuf_split(&buffer, cutoff);
@ -119,7 +119,7 @@ void split_buffer(int n, int offset)
void consume_buffer(int n, int offset) void consume_buffer(int n, int offset)
{ {
int cutoff = get_length_at(n) + offset; size_t cutoff = get_length_at(n) + offset;
GWBUF* buffer = create_test_buffer(); GWBUF* buffer = create_test_buffer();
int len = gwbuf_length(buffer); int len = gwbuf_length(buffer);
buffer = gwbuf_consume(buffer, cutoff); buffer = gwbuf_consume(buffer, cutoff);
@ -131,7 +131,7 @@ void consume_buffer(int n, int offset)
void copy_buffer(int n, int offset) void copy_buffer(int n, int offset)
{ {
int cutoff = get_length_at(n) + offset; size_t cutoff = get_length_at(n) + offset;
uint8_t* data = generate_data(cutoff); uint8_t* data = generate_data(cutoff);
GWBUF* buffer = create_test_buffer(); GWBUF* buffer = create_test_buffer();
int len = gwbuf_length(buffer); int len = gwbuf_length(buffer);
@ -450,30 +450,30 @@ test1()
{ {
GWBUF *buffer, *extra, *clone, *partclone; GWBUF *buffer, *extra, *clone, *partclone;
HINT *hint; HINT *hint;
int size = 100; size_t size = 100;
int bite1 = 35; size_t bite1 = 35;
int bite2 = 60; size_t bite2 = 60;
int bite3 = 10; size_t bite3 = 10;
int buflen; size_t buflen;
/* Single buffer tests */ /* Single buffer tests */
ss_dfprintf(stderr, ss_dfprintf(stderr,
"testbuffer : creating buffer with data size %d bytes", "testbuffer : creating buffer with data size %lu bytes",
size); size);
buffer = gwbuf_alloc(size); buffer = gwbuf_alloc(size);
ss_dfprintf(stderr, "\t..done\nAllocated buffer of size %d.", size); ss_dfprintf(stderr, "\t..done\nAllocated buffer of size %lu.", size);
buflen = GWBUF_LENGTH(buffer); buflen = GWBUF_LENGTH(buffer);
ss_dfprintf(stderr, "\nBuffer length is now %d", buflen); ss_dfprintf(stderr, "\nBuffer length is now %lu", buflen);
ss_info_dassert(size == buflen, "Incorrect buffer size"); ss_info_dassert(size == buflen, "Incorrect buffer size");
ss_info_dassert(0 == GWBUF_EMPTY(buffer), "Buffer should not be empty"); ss_info_dassert(0 == GWBUF_EMPTY(buffer), "Buffer should not be empty");
ss_info_dassert(GWBUF_IS_TYPE_UNDEFINED(buffer), "Buffer type should be undefined"); ss_info_dassert(GWBUF_IS_TYPE_UNDEFINED(buffer), "Buffer type should be undefined");
ss_dfprintf(stderr, "\t..done\nSet a hint for the buffer"); ss_dfprintf(stderr, "\t..done\nSet a hint for the buffer");
hint = hint_create_parameter(NULL, "name", "value"); hint = hint_create_parameter(NULL, (char*)"name", (char*)"value");
gwbuf_add_hint(buffer, hint); gwbuf_add_hint(buffer, hint);
ss_info_dassert(hint == buffer->hint, "Buffer should point to first and only hint"); ss_info_dassert(hint == buffer->hint, "Buffer should point to first and only hint");
ss_dfprintf(stderr, "\t..done\nSet a property for the buffer"); ss_dfprintf(stderr, "\t..done\nSet a property for the buffer");
gwbuf_add_property(buffer, "name", "value"); gwbuf_add_property(buffer, (char*)"name", (char*)"value");
ss_info_dassert(0 == strcmp("value", gwbuf_get_property(buffer, "name")), "Should now have correct property"); ss_info_dassert(0 == strcmp("value", gwbuf_get_property(buffer, (char*)"name")), "Should now have correct property");
strcpy((char*)GWBUF_DATA(buffer), "The quick brown fox jumps over the lazy dog"); strcpy((char*)GWBUF_DATA(buffer), "The quick brown fox jumps over the lazy dog");
ss_dfprintf(stderr, "\t..done\nLoad some data into the buffer"); ss_dfprintf(stderr, "\t..done\nLoad some data into the buffer");
ss_info_dassert('q' == GWBUF_DATA_CHAR(buffer, 4), "Fourth character of buffer must be 'q'"); ss_info_dassert('q' == GWBUF_DATA_CHAR(buffer, 4), "Fourth character of buffer must be 'q'");
@ -485,7 +485,7 @@ test1()
clone = gwbuf_clone(buffer); clone = gwbuf_clone(buffer);
ss_dfprintf(stderr, "\t..done\nCloned buffer"); ss_dfprintf(stderr, "\t..done\nCloned buffer");
buflen = GWBUF_LENGTH(clone); buflen = GWBUF_LENGTH(clone);
ss_dfprintf(stderr, "\nCloned buffer length is now %d", buflen); ss_dfprintf(stderr, "\nCloned buffer length is now %lu", buflen);
ss_info_dassert(size == buflen, "Incorrect buffer size"); ss_info_dassert(size == buflen, "Incorrect buffer size");
ss_info_dassert(0 == GWBUF_EMPTY(clone), "Cloned buffer should not be empty"); ss_info_dassert(0 == GWBUF_EMPTY(clone), "Cloned buffer should not be empty");
ss_dfprintf(stderr, "\t..done\n"); ss_dfprintf(stderr, "\t..done\n");
@ -495,45 +495,45 @@ test1()
buffer = gwbuf_consume(buffer, bite1); buffer = gwbuf_consume(buffer, bite1);
ss_info_dassert(NULL != buffer, "Buffer should not be null"); ss_info_dassert(NULL != buffer, "Buffer should not be null");
buflen = GWBUF_LENGTH(buffer); buflen = GWBUF_LENGTH(buffer);
ss_dfprintf(stderr, "Consumed %d bytes, now have %d, should have %d", bite1, buflen, size - bite1); ss_dfprintf(stderr, "Consumed %lu bytes, now have %lu, should have %lu", bite1, buflen, size - bite1);
ss_info_dassert((size - bite1) == buflen, "Incorrect buffer size"); ss_info_dassert((size - bite1) == buflen, "Incorrect buffer size");
ss_info_dassert(0 == GWBUF_EMPTY(buffer), "Buffer should not be empty"); ss_info_dassert(0 == GWBUF_EMPTY(buffer), "Buffer should not be empty");
ss_dfprintf(stderr, "\t..done\n"); ss_dfprintf(stderr, "\t..done\n");
buffer = gwbuf_consume(buffer, bite2); buffer = gwbuf_consume(buffer, bite2);
ss_info_dassert(NULL != buffer, "Buffer should not be null"); ss_info_dassert(NULL != buffer, "Buffer should not be null");
buflen = GWBUF_LENGTH(buffer); buflen = GWBUF_LENGTH(buffer);
ss_dfprintf(stderr, "Consumed %d bytes, now have %d, should have %d", bite2, buflen, size - bite1 - bite2); ss_dfprintf(stderr, "Consumed %lu bytes, now have %lu, should have %lu", bite2, buflen, size - bite1 - bite2);
ss_info_dassert((size - bite1 - bite2) == buflen, "Incorrect buffer size"); ss_info_dassert((size - bite1 - bite2) == buflen, "Incorrect buffer size");
ss_info_dassert(0 == GWBUF_EMPTY(buffer), "Buffer should not be empty"); ss_info_dassert(0 == GWBUF_EMPTY(buffer), "Buffer should not be empty");
ss_dfprintf(stderr, "\t..done\n"); ss_dfprintf(stderr, "\t..done\n");
buffer = gwbuf_consume(buffer, bite3); buffer = gwbuf_consume(buffer, bite3);
ss_dfprintf(stderr, "Consumed %d bytes, should have null buffer", bite3); ss_dfprintf(stderr, "Consumed %lu bytes, should have null buffer", bite3);
ss_info_dassert(NULL == buffer, "Buffer should be null"); ss_info_dassert(NULL == buffer, "Buffer should be null");
/* Buffer list tests */ /* Buffer list tests */
size = 100000; size = 100000;
buffer = gwbuf_alloc(size); buffer = gwbuf_alloc(size);
ss_dfprintf(stderr, "\t..done\nAllocated buffer of size %d.", size); ss_dfprintf(stderr, "\t..done\nAllocated buffer of size %lu.", size);
buflen = GWBUF_LENGTH(buffer); buflen = GWBUF_LENGTH(buffer);
ss_dfprintf(stderr, "\nBuffer length is now %d", buflen); ss_dfprintf(stderr, "\nBuffer length is now %lu", buflen);
ss_info_dassert(size == buflen, "Incorrect buffer size"); ss_info_dassert(size == buflen, "Incorrect buffer size");
ss_info_dassert(0 == GWBUF_EMPTY(buffer), "Buffer should not be empty"); ss_info_dassert(0 == GWBUF_EMPTY(buffer), "Buffer should not be empty");
ss_info_dassert(GWBUF_IS_TYPE_UNDEFINED(buffer), "Buffer type should be undefined"); ss_info_dassert(GWBUF_IS_TYPE_UNDEFINED(buffer), "Buffer type should be undefined");
extra = gwbuf_alloc(size); extra = gwbuf_alloc(size);
buflen = GWBUF_LENGTH(buffer); buflen = GWBUF_LENGTH(buffer);
ss_dfprintf(stderr, "\t..done\nAllocated extra buffer of size %d.", size); ss_dfprintf(stderr, "\t..done\nAllocated extra buffer of size %lu.", size);
ss_info_dassert(size == buflen, "Incorrect buffer size"); ss_info_dassert(size == buflen, "Incorrect buffer size");
buffer = gwbuf_append(buffer, extra); buffer = gwbuf_append(buffer, extra);
buflen = gwbuf_length(buffer); buflen = gwbuf_length(buffer);
ss_dfprintf(stderr, "\t..done\nAppended extra buffer to original buffer to create list of size %d", buflen); ss_dfprintf(stderr, "\t..done\nAppended extra buffer to original buffer to create list of size %lu", buflen);
ss_info_dassert((size * 2) == gwbuf_length(buffer), "Incorrect size for set of buffers"); ss_info_dassert((size * 2) == gwbuf_length(buffer), "Incorrect size for set of buffers");
buffer = gwbuf_rtrim(buffer, 60000); buffer = gwbuf_rtrim(buffer, 60000);
buflen = GWBUF_LENGTH(buffer); buflen = GWBUF_LENGTH(buffer);
ss_dfprintf(stderr, "\t..done\nTrimmed 60 bytes from buffer, now size is %d.", buflen); ss_dfprintf(stderr, "\t..done\nTrimmed 60 bytes from buffer, now size is %lu.", buflen);
ss_info_dassert((size - 60000) == buflen, "Incorrect buffer size"); ss_info_dassert((size - 60000) == buflen, "Incorrect buffer size");
buffer = gwbuf_rtrim(buffer, 60000); buffer = gwbuf_rtrim(buffer, 60000);
buflen = GWBUF_LENGTH(buffer); buflen = GWBUF_LENGTH(buffer);
ss_dfprintf(stderr, "\t..done\nTrimmed another 60 bytes from buffer, now size is %d.", buflen); ss_dfprintf(stderr, "\t..done\nTrimmed another 60 bytes from buffer, now size is %lu.", buflen);
ss_info_dassert(100000 == buflen, "Incorrect buffer size"); ss_info_dassert(100000 == buflen, "Incorrect buffer size");
ss_info_dassert(buffer == extra, "The buffer pointer should now point to the extra buffer"); ss_info_dassert(buffer == extra, "The buffer pointer should now point to the extra buffer");
ss_dfprintf(stderr, "\t..done\n"); ss_dfprintf(stderr, "\t..done\n");

View File

@ -43,7 +43,7 @@ int test_validity()
{MXS_END_MODULE_PARAMS} {MXS_END_MODULE_PARAMS}
}; };
CONFIG_CONTEXT ctx = {.object = ""}; CONFIG_CONTEXT ctx = {.object = (char*)""};
/** Int parameter */ /** Int parameter */
TEST(config_param_is_valid(params, "p1", "1", &ctx)); TEST(config_param_is_valid(params, "p1", "1", &ctx));
@ -90,7 +90,7 @@ int test_validity()
TEST(!config_param_is_valid(params, "p6", "This is not a valid path", &ctx)); TEST(!config_param_is_valid(params, "p6", "This is not a valid path", &ctx));
/** Service parameter */ /** Service parameter */
CONFIG_CONTEXT svc = {.object = "test-service"}; CONFIG_CONTEXT svc = {.object = (char*)"test-service"};
ctx.next = &svc; ctx.next = &svc;
config_add_param(&svc, "type", "service"); config_add_param(&svc, "type", "service");
TEST(config_param_is_valid(params, "p7", "test-service", &ctx)); TEST(config_param_is_valid(params, "p7", "test-service", &ctx));
@ -135,9 +135,12 @@ int test_add_parameter()
}; };
CONFIG_CONTEXT svc1 = {.object = "my-service"}; CONFIG_CONTEXT svc1, svc2, ctx;
CONFIG_CONTEXT svc2 = {.object = "some-service", .next = &svc1}; svc1.object = (char*)"my-service";
CONFIG_CONTEXT ctx = {.object = "", .next = &svc2}; svc2.object = (char*)"some-service";
svc2.next = &svc1;
ctx.object = (char*)"";
ctx.next = &svc2;
config_add_param(&svc1, "type", "service"); config_add_param(&svc1, "type", "service");
config_add_param(&svc2, "type", "service"); config_add_param(&svc2, "type", "service");
@ -190,7 +193,7 @@ int test_required_parameters()
{MXS_END_MODULE_PARAMS} {MXS_END_MODULE_PARAMS}
}; };
CONFIG_CONTEXT ctx = {.object = ""}; CONFIG_CONTEXT ctx = {.object = (char*)""};
TEST(missing_required_parameters(params, ctx.parameters)); TEST(missing_required_parameters(params, ctx.parameters));
config_add_defaults(&ctx, params); config_add_defaults(&ctx, params);

View File

@ -45,9 +45,11 @@
#include <regex.h> #include <regex.h>
#include <maxscale/maxscale_test.h> #include <maxscale/maxscale_test.h>
#include "../maxscale/config.h"
#include "../load_utils.cc" #include "../load_utils.cc"
static char* server_options[] = static const char* server_options[] =
{ {
"MariaDB Corporation MaxScale", "MariaDB Corporation MaxScale",
"--no-defaults", "--no-defaults",
@ -60,7 +62,7 @@ static char* server_options[] =
const int num_elements = (sizeof(server_options) / sizeof(char *)) - 1; const int num_elements = (sizeof(server_options) / sizeof(char *)) - 1;
static char* server_groups[] = static const char* server_groups[] =
{ {
"embedded", "embedded",
"server", "server",
@ -71,10 +73,6 @@ static char* server_groups[] =
NULL NULL
}; };
int config_load(char *);
void config_enable_feedback_task(void);
int do_http_post(GWBUF *buffer, void *cfg);
int main(int argc, char** argv) int main(int argc, char** argv)
{ {
FEEDBACK_CONF* fc; FEEDBACK_CONF* fc;
@ -85,14 +83,14 @@ int main(int argc, char** argv)
hkinit(); hkinit();
cnf = MXS_MALLOC(sizeof(char) * (strlen(TEST_DIR) + strlen("/maxscale.cnf") + 1)); cnf = (char*)MXS_MALLOC(sizeof(char) * (strlen(TEST_DIR) + strlen("/maxscale.cnf") + 1));
MXS_ABORT_IF_NULL(cnf); MXS_ABORT_IF_NULL(cnf);
sprintf(cnf, "%s/maxscale.cnf", TEST_DIR); sprintf(cnf, "%s/maxscale.cnf", TEST_DIR);
printf("Config: %s\n", cnf); printf("Config: %s\n", cnf);
if (mysql_library_init(num_elements, server_options, server_groups)) if (mysql_library_init(num_elements, (char**)server_options, (char**)server_groups))
{ {
FAILTEST("Failed to initialize embedded library."); FAILTEST("Failed to initialize embedded library.");
} }

View File

@ -54,7 +54,7 @@ test1()
MXS_FREE(name); MXS_FREE(name);
mxs_log_flush_sync(); mxs_log_flush_sync();
ss_info_dassert(NULL != hint, "New hint list should not be null"); ss_info_dassert(NULL != hint, "New hint list should not be null");
ss_info_dassert(0 == strcmp("value", hint->value), "Hint value should be correct"); ss_info_dassert(0 == strcmp("value", (char*)hint->value), "Hint value should be correct");
ss_info_dassert(0 != hint_exists(&hint, HINT_PARAMETER), "Hint of parameter type should exist"); ss_info_dassert(0 != hint_exists(&hint, HINT_PARAMETER), "Hint of parameter type should exist");
ss_dfprintf(stderr, "\t..done\nFree hints."); ss_dfprintf(stderr, "\t..done\nFree hints.");
if (NULL != hint) if (NULL != hint)

View File

@ -35,7 +35,7 @@ static void skygw_log_disable(int priority)
int main(int argc, char* argv[]) int main(int argc, char* argv[])
{ {
int err = 0; int err = 0;
char* logstr; const char* logstr;
int i; int i;
bool succp; bool succp;

View File

@ -82,7 +82,7 @@ static int test2()
pcre2_code *re2 = pcre2_compile((PCRE2_SPTR) pattern2, PCRE2_ZERO_TERMINATED, pcre2_code *re2 = pcre2_compile((PCRE2_SPTR) pattern2, PCRE2_ZERO_TERMINATED,
0, &err, &erroff, NULL); 0, &err, &erroff, NULL);
size_t size = 1000; size_t size = 1000;
char* dest = MXS_MALLOC(size); char* dest = (char*)MXS_MALLOC(size);
MXS_ABORT_IF_NULL(dest); MXS_ABORT_IF_NULL(dest);
mxs_pcre2_result_t result = mxs_pcre2_substitute(re, subject, good_replace, &dest, &size); mxs_pcre2_result_t result = mxs_pcre2_substitute(re, subject, good_replace, &dest, &size);
@ -90,12 +90,12 @@ static int test2()
test_assert(strcmp(dest, expected) == 0, "Replaced text should match expected text"); test_assert(strcmp(dest, expected) == 0, "Replaced text should match expected text");
size = 1000; size = 1000;
dest = MXS_REALLOC(dest, size); dest = (char*)MXS_REALLOC(dest, size);
result = mxs_pcre2_substitute(re2, subject, good_replace, &dest, &size); result = mxs_pcre2_substitute(re2, subject, good_replace, &dest, &size);
test_assert(result == MXS_PCRE2_NOMATCH, "Non-matching substitution should not substitute"); test_assert(result == MXS_PCRE2_NOMATCH, "Non-matching substitution should not substitute");
size = 1000; size = 1000;
dest = MXS_REALLOC(dest, size); dest = (char*)MXS_REALLOC(dest, size);
result = mxs_pcre2_substitute(re, subject, bad_replace, &dest, &size); result = mxs_pcre2_substitute(re, subject, bad_replace, &dest, &size);
test_assert(result == MXS_PCRE2_ERROR, "Bad substitution should return an error"); test_assert(result == MXS_PCRE2_ERROR, "Bad substitution should return an error");

View File

@ -23,7 +23,7 @@
#include "../maxscale/monitor.h" #include "../maxscale/monitor.h"
#define TEST(a, b) do{if (!(a)){printf("%s:%d "b"\n", __FILE__, __LINE__);return 1;}}while(false) #define TEST(a, b) do{if (!(a)){printf("%s:%d " b "\n", __FILE__, __LINE__);return 1;}}while(false)
static bool ok = false; static bool ok = false;
@ -154,8 +154,8 @@ int test_optional_arguments()
const void *params3[] = {"Hello", NULL}; const void *params3[] = {"Hello", NULL};
const void *params4[] = {NULL, NULL}; const void *params4[] = {NULL, NULL};
const void *ns = "test_optional_arguments"; const char *ns = "test_optional_arguments";
const void *id = "test_optional_arguments"; const char *id = "test_optional_arguments";
modulecmd_arg_type_t args1[] = modulecmd_arg_type_t args1[] =
{ {
{MODULECMD_ARG_STRING | MODULECMD_ARG_OPTIONAL, ""}, {MODULECMD_ARG_STRING | MODULECMD_ARG_OPTIONAL, ""},
@ -375,7 +375,7 @@ int test_domain_matching()
/** Create a monitor */ /** Create a monitor */
char *libdir = MXS_STRDUP_A("../../modules/monitor/mysqlmon/"); char *libdir = MXS_STRDUP_A("../../modules/monitor/mysqlmon/");
set_libdir(libdir); set_libdir(libdir);
monitor_alloc((char*)ns, "mysqlmon"); monitor_alloc((char*)ns, (char*)"mysqlmon");
const void* params[] = {ns}; const void* params[] = {ns};

View File

@ -62,7 +62,7 @@ test1()
ss_dfprintf(stderr, "\t..done\nExtract SQL from buffer different way?"); ss_dfprintf(stderr, "\t..done\nExtract SQL from buffer different way?");
ss_info_dassert(0 == modutil_MySQL_Query(buffer, &sql, &length, &residual), "Default buffer should fail"); ss_info_dassert(0 == modutil_MySQL_Query(buffer, &sql, &length, &residual), "Default buffer should fail");
ss_dfprintf(stderr, "\t..done\nReplace SQL in buffer"); ss_dfprintf(stderr, "\t..done\nReplace SQL in buffer");
ss_info_dassert(0 == modutil_replace_SQL(buffer, "select * from some_table;"), "Default buffer should fail"); ss_info_dassert(0 == modutil_replace_SQL(buffer, (char*)"select * from some_table;"), "Default buffer should fail");
ss_dfprintf(stderr, "\t..done\nTidy up."); ss_dfprintf(stderr, "\t..done\nTidy up.");
gwbuf_free(buffer); gwbuf_free(buffer);
ss_dfprintf(stderr, "\t..done\n"); ss_dfprintf(stderr, "\t..done\n");
@ -89,7 +89,7 @@ test2()
*((unsigned char*)buffer->start + 2) = 0; *((unsigned char*)buffer->start + 2) = 0;
*((unsigned char*)buffer->start + 3) = 1; *((unsigned char*)buffer->start + 3) = 1;
*((unsigned char*)buffer->start + 4) = 0x03; *((unsigned char*)buffer->start + 4) = 0x03;
memcpy(buffer->start + 5, query, strlen(query)); memcpy((uint8_t*)buffer->start + 5, query, strlen(query));
char* result = modutil_get_SQL(buffer); char* result = modutil_get_SQL(buffer);
ss_dassert(strcmp(result, query) == 0); ss_dassert(strcmp(result, query) == 0);
gwbuf_free(buffer); gwbuf_free(buffer);
@ -109,7 +109,7 @@ static char ok[] =
* CREATE OR REPLACE TABLE test.t1 (id int); * CREATE OR REPLACE TABLE test.t1 (id int);
* INSERT INTO test.t1 VALUES (3000); * INSERT INTO test.t1 VALUES (3000);
* SELECT * FROM test.t1; */ * SELECT * FROM test.t1; */
static const char resultset[] = static const uint8_t resultset[] =
{ {
/* Packet 1 */ /* Packet 1 */
0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01,
@ -141,7 +141,7 @@ static const char resultset[] =
struct packet struct packet
{ {
int index; int index;
int length; unsigned int length;
} packets[] = } packets[] =
{ {
{ PACKET_1_IDX, PACKET_1_LEN }, { PACKET_1_IDX, PACKET_1_LEN },
@ -259,8 +259,8 @@ void test_multiple_sql_packets1()
ss_info_dassert(gwbuf_length(complete) == sizeof(resultset), ss_info_dassert(gwbuf_length(complete) == sizeof(resultset),
"Complete should be sizeof(resulset) bytes long"); "Complete should be sizeof(resulset) bytes long");
int headlen = gwbuf_length(head); unsigned int headlen = gwbuf_length(head);
int completelen = complete ? gwbuf_length(complete) : 0; unsigned int completelen = complete ? gwbuf_length(complete) : 0;
uint8_t databuf[sizeof(resultset)]; uint8_t databuf[sizeof(resultset)];
ss_info_dassert(gwbuf_copy_data(complete, 0, completelen, databuf) == completelen, ss_info_dassert(gwbuf_copy_data(complete, 0, completelen, databuf) == completelen,
"Expected data should be readable"); "Expected data should be readable");
@ -344,7 +344,7 @@ void test_multiple_sql_packets2()
buffer = gwbuf_alloc_and_load(sizeof(resultset), resultset); buffer = gwbuf_alloc_and_load(sizeof(resultset), resultset);
// Empty buffer packet by packet. // Empty buffer packet by packet.
for (int i = 0; i < N_PACKETS; i++) for (unsigned int i = 0; i < N_PACKETS; i++)
{ {
GWBUF* next = modutil_get_next_MySQL_packet(&buffer); GWBUF* next = modutil_get_next_MySQL_packet(&buffer);
ss_info_dassert(next, "Next packet buffer should not be NULL"); ss_info_dassert(next, "Next packet buffer should not be NULL");
@ -439,7 +439,7 @@ void test_multiple_sql_packets2()
} }
while (total < sizeof(resultset)); while (total < sizeof(resultset));
for (int i = 0; i < N_PACKETS; i++) for (unsigned int i = 0; i < N_PACKETS; i++)
{ {
GWBUF* next = modutil_get_next_MySQL_packet(&buffer); GWBUF* next = modutil_get_next_MySQL_packet(&buffer);
ss_info_dassert(next, "Next packet buffer should not be NULL"); ss_info_dassert(next, "Next packet buffer should not be NULL");
@ -580,7 +580,7 @@ void test_large_packets()
for (int i = 2; i < 8; i++) for (int i = 2; i < 8; i++)
{ {
GWBUF* buffer = gwbuf_append(create_buffer(0x00ffffff), create_buffer(i)); GWBUF* buffer = gwbuf_append(create_buffer(0x00ffffff), create_buffer(i));
ss_dassert(gwbuf_length(buffer) == 0xffffff + i + 8); ss_dassert(gwbuf_length(buffer) == 0xffffffUL + i + 8);
GWBUF_RTRIM(buffer->next, 1) GWBUF_RTRIM(buffer->next, 1)
GWBUF* complete = modutil_get_complete_packets(&buffer); GWBUF* complete = modutil_get_complete_packets(&buffer);
ss_info_dassert(buffer, "Incomplete buffer is not NULL"); ss_info_dassert(buffer, "Incomplete buffer is not NULL");
@ -591,9 +591,9 @@ void test_large_packets()
} }
} }
char* bypass_whitespace(char* sql) char* bypass_whitespace(const char* sql)
{ {
return modutil_MySQL_bypass_whitespace(sql, strlen(sql)); return modutil_MySQL_bypass_whitespace((char*)sql, strlen(sql));
} }
void test_bypass_whitespace() void test_bypass_whitespace()

View File

@ -93,7 +93,7 @@ test1()
ss_dfprintf(stderr, "Filled %d, emptied %d, expired %d\n", filled, emptied, expired); ss_dfprintf(stderr, "Filled %d, emptied %d, expired %d\n", filled, emptied, expired);
if (random_jkiss() % 2) if (random_jkiss() % 2)
{ {
int *entrynumber = MXS_MALLOC(sizeof(int)); int *entrynumber = (int*)MXS_MALLOC(sizeof(int));
*entrynumber = input_counter; *entrynumber = input_counter;
if (mxs_enqueue(queue, entrynumber)) if (mxs_enqueue(queue, entrynumber))
{ {

View File

@ -64,10 +64,10 @@ test1()
//ss_info_dassert(0 != service_isvalid(service), "Service must be valid after creation"); //ss_info_dassert(0 != service_isvalid(service), "Service must be valid after creation");
ss_dfprintf(stderr, "\t..done\nTest Parameter for Server."); ss_dfprintf(stderr, "\t..done\nTest Parameter for Server.");
ss_info_dassert(NULL == server_get_parameter(server, "name"), "Parameter should be null when not set"); ss_info_dassert(NULL == server_get_parameter(server, (char*)"name"), "Parameter should be null when not set");
server_add_parameter(server, "name", "value"); server_add_parameter(server, "name", "value");
mxs_log_flush_sync(); mxs_log_flush_sync();
ss_info_dassert(0 == strcmp("value", server_get_parameter(server, "name")), ss_info_dassert(0 == strcmp("value", server_get_parameter(server, (char*)"name")),
"Parameter should be returned correctly"); "Parameter should be returned correctly");
ss_dfprintf(stderr, "\t..done\nTesting Unique Name for Server."); ss_dfprintf(stderr, "\t..done\nTesting Unique Name for Server.");
ss_info_dassert(NULL == server_find_by_unique_name("non-existent"), ss_info_dassert(NULL == server_find_by_unique_name("non-existent"),
@ -115,7 +115,7 @@ bool test_load_config(const char *input, SERVER *server)
if (duplicate_context_init(&dcontext)) if (duplicate_context_init(&dcontext))
{ {
CONFIG_CONTEXT ccontext = {.object = ""}; CONFIG_CONTEXT ccontext = {.object = (char*)""};
if (config_load_single_file(input, &dcontext, &ccontext)) if (config_load_single_file(input, &dcontext, &ccontext))
{ {