Fixed internal test suite.
This commit is contained in:
@ -29,7 +29,7 @@
|
|||||||
#include <skygw_utils.h>
|
#include <skygw_utils.h>
|
||||||
#include <log_manager.h>
|
#include <log_manager.h>
|
||||||
#include <gwdirs.h>
|
#include <gwdirs.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
/** Defined in log_manager.cc */
|
/** Defined in log_manager.cc */
|
||||||
extern int lm_enabled_logfiles_bitmask;
|
extern int lm_enabled_logfiles_bitmask;
|
||||||
extern size_t log_ses_count[];
|
extern size_t log_ses_count[];
|
||||||
@ -154,6 +154,11 @@ FILE *fp;
|
|||||||
char fname[1024], *home, *cpasswd;
|
char fname[1024], *home, *cpasswd;
|
||||||
|
|
||||||
initialise();
|
initialise();
|
||||||
|
|
||||||
|
if(access(get_datadir(), F_OK) != 0)
|
||||||
|
if(mkdir(get_datadir(), S_IRWXU) != 0 && errno != EEXIST)
|
||||||
|
return ADMIN_ERR_PWDFILEOPEN;
|
||||||
|
|
||||||
snprintf(fname,1023, "%s/passwd", get_datadir());
|
snprintf(fname,1023, "%s/passwd", get_datadir());
|
||||||
fname[1023] = '\0';
|
fname[1023] = '\0';
|
||||||
if (users == NULL)
|
if (users == NULL)
|
||||||
|
@ -2334,6 +2334,7 @@ static char *InternalRouters[] = {
|
|||||||
"cli",
|
"cli",
|
||||||
"maxinfo",
|
"maxinfo",
|
||||||
"binlogrouter",
|
"binlogrouter",
|
||||||
|
"testroute",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -270,7 +270,7 @@ char *home, buf[1024];
|
|||||||
|
|
||||||
/* Unlink any existing password file before running this test */
|
/* Unlink any existing password file before running this test */
|
||||||
|
|
||||||
sprintf(buf, "%s/passwd", default_cachedir);
|
sprintf(buf, "%s/passwd", get_datadir());
|
||||||
if(!is_valid_posix_path(buf))
|
if(!is_valid_posix_path(buf))
|
||||||
exit(1);
|
exit(1);
|
||||||
if (strcmp(buf, "/etc/passwd") != 0)
|
if (strcmp(buf, "/etc/passwd") != 0)
|
||||||
|
@ -59,7 +59,7 @@ int buflen;
|
|||||||
printAllDCBs();
|
printAllDCBs();
|
||||||
ss_info_dassert(true, "Something is true");
|
ss_info_dassert(true, "Something is true");
|
||||||
ss_dfprintf(stderr, "\t..done\n");
|
ss_dfprintf(stderr, "\t..done\n");
|
||||||
dcb_free(dcb);
|
dcb_close(dcb);
|
||||||
ss_dfprintf(stderr, "Freed original dcb");
|
ss_dfprintf(stderr, "Freed original dcb");
|
||||||
ss_info_dassert(!dcb_isvalid(dcb), "Freed DCB must not be valid");
|
ss_info_dassert(!dcb_isvalid(dcb), "Freed DCB must not be valid");
|
||||||
ss_dfprintf(stderr, "\t..done\nMake clone DCB a zombie");
|
ss_dfprintf(stderr, "\t..done\nMake clone DCB a zombie");
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
#include <buffer.h>
|
#include <buffer.h>
|
||||||
#include <regex.h>
|
#include <regex.h>
|
||||||
#include <modules.h>
|
#include <modules.h>
|
||||||
|
#include <maxscale_test.h>
|
||||||
|
|
||||||
static char* server_options[] = {
|
static char* server_options[] = {
|
||||||
"MariaDB Corporation MaxScale",
|
"MariaDB Corporation MaxScale",
|
||||||
@ -65,6 +66,7 @@ static char* server_groups[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
int config_load(char *);
|
int config_load(char *);
|
||||||
|
void config_enable_feedback_task(void);
|
||||||
int module_create_feedback_report(GWBUF **buffer, MODULES *modules, FEEDBACK_CONF *cfg);
|
int module_create_feedback_report(GWBUF **buffer, MODULES *modules, FEEDBACK_CONF *cfg);
|
||||||
int do_http_post(GWBUF *buffer, void *cfg);
|
int do_http_post(GWBUF *buffer, void *cfg);
|
||||||
|
|
||||||
@ -78,7 +80,8 @@ int main(int argc, char** argv)
|
|||||||
|
|
||||||
hkinit();
|
hkinit();
|
||||||
|
|
||||||
cnf = strdup("/etc/MaxScale.cnf");
|
cnf = malloc(sizeof(char) * (strlen(TEST_DIR) + strlen("/maxscale.cnf") + 1));
|
||||||
|
sprintf(cnf, "%s/maxscale.cnf", TEST_DIR);
|
||||||
|
|
||||||
printf("Config: %s\n",cnf);
|
printf("Config: %s\n",cnf);
|
||||||
|
|
||||||
@ -89,7 +92,7 @@ int main(int argc, char** argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
config_load(cnf);
|
config_load(cnf);
|
||||||
|
config_enable_feedback_task();
|
||||||
if ((fc = config_get_feedback_data()) == NULL)
|
if ((fc = config_get_feedback_data()) == NULL)
|
||||||
{
|
{
|
||||||
FAILTEST("Configuration for Feedback was NULL.");
|
FAILTEST("Configuration for Feedback was NULL.");
|
||||||
|
@ -70,10 +70,11 @@ int
|
|||||||
test2()
|
test2()
|
||||||
{
|
{
|
||||||
GWBUF *buffer;
|
GWBUF *buffer;
|
||||||
char len = 128;
|
unsigned int len = 128;
|
||||||
char query[129];
|
char query[129];
|
||||||
|
|
||||||
buffer = gwbuf_alloc(132);
|
/** Allocate space for the COM_QUERY header and payload */
|
||||||
|
buffer = gwbuf_alloc(5 + 128);
|
||||||
ss_info_dassert((buffer != NULL),"Buffer should not be null");
|
ss_info_dassert((buffer != NULL),"Buffer should not be null");
|
||||||
|
|
||||||
memset(query,';',128);
|
memset(query,';',128);
|
||||||
|
@ -86,7 +86,7 @@ int result;
|
|||||||
sleep(10);
|
sleep(10);
|
||||||
poll_shutdown();
|
poll_shutdown();
|
||||||
ss_dfprintf(stderr, "\t..done\nTidy up.");
|
ss_dfprintf(stderr, "\t..done\nTidy up.");
|
||||||
dcb_free(dcb);
|
dcb_close(dcb);
|
||||||
ss_dfprintf(stderr, "\t..done\n");
|
ss_dfprintf(stderr, "\t..done\n");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -41,15 +41,6 @@
|
|||||||
#include <test_utils.h>
|
#include <test_utils.h>
|
||||||
#include <service.h>
|
#include <service.h>
|
||||||
|
|
||||||
|
|
||||||
static bool success = false;
|
|
||||||
|
|
||||||
int hup(DCB* dcb)
|
|
||||||
{
|
|
||||||
success = true;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test1 Allocate a service and do lots of other things
|
* test1 Allocate a service and do lots of other things
|
||||||
*
|
*
|
||||||
@ -64,17 +55,6 @@ int result;
|
|||||||
int argc = 3;
|
int argc = 3;
|
||||||
|
|
||||||
init_test_env(NULL);
|
init_test_env(NULL);
|
||||||
/* char* argv[] = */
|
|
||||||
/* { */
|
|
||||||
/* "log_manager", */
|
|
||||||
/* "-j", */
|
|
||||||
/* TEST_LOG_DIR, */
|
|
||||||
/* NULL */
|
|
||||||
/* }; */
|
|
||||||
|
|
||||||
/* skygw_logmanager_init(argc,argv); */
|
|
||||||
/* poll_init(); */
|
|
||||||
/* hkinit(); */
|
|
||||||
|
|
||||||
/* Service tests */
|
/* Service tests */
|
||||||
ss_dfprintf(stderr,
|
ss_dfprintf(stderr,
|
||||||
@ -98,9 +78,9 @@ init_test_env(NULL);
|
|||||||
result = serviceStart(service);
|
result = serviceStart(service);
|
||||||
skygw_log_sync_all();
|
skygw_log_sync_all();
|
||||||
ss_info_dassert(0 != result, "Start should succeed");
|
ss_info_dassert(0 != result, "Start should succeed");
|
||||||
result = serviceStop(service);
|
serviceStop(service);
|
||||||
skygw_log_sync_all();
|
skygw_log_sync_all();
|
||||||
ss_info_dassert(0 != result, "Stop should succeed");
|
ss_info_dassert(service->state == SERVICE_STATE_STOPPED, "Stop should succeed");
|
||||||
result = serviceStartAll();
|
result = serviceStartAll();
|
||||||
skygw_log_sync_all();
|
skygw_log_sync_all();
|
||||||
ss_info_dassert(0 != result, "Start all should succeed");
|
ss_info_dassert(0 != result, "Start all should succeed");
|
||||||
@ -111,35 +91,26 @@ init_test_env(NULL);
|
|||||||
result = serviceStart(service);
|
result = serviceStart(service);
|
||||||
skygw_log_sync_all();
|
skygw_log_sync_all();
|
||||||
ss_info_dassert(0 != result, "Start should succeed");
|
ss_info_dassert(0 != result, "Start should succeed");
|
||||||
result = serviceStop(service);
|
serviceStop(service);
|
||||||
skygw_log_sync_all();
|
skygw_log_sync_all();
|
||||||
ss_info_dassert(0 != result, "Stop should succeed");
|
ss_info_dassert(service->state == SERVICE_STATE_STOPPED, "Stop should succeed");
|
||||||
|
|
||||||
if((dcb = dcb_alloc(DCB_ROLE_REQUEST_HANDLER)) == NULL)
|
if((dcb = dcb_alloc(DCB_ROLE_REQUEST_HANDLER)) == NULL)
|
||||||
return 1;
|
return 1;
|
||||||
ss_info_dassert(dcb != NULL, "DCB allocation failed");
|
ss_info_dassert(dcb != NULL, "DCB allocation failed");
|
||||||
|
|
||||||
session = session_alloc(service,dcb);
|
session = session_alloc(service,dcb);
|
||||||
ss_info_dassert(session != NULL, "Session allocation failed");
|
ss_info_dassert(session != NULL, "Session allocation failed");
|
||||||
session->client->state = DCB_STATE_POLLING;
|
dcb->state = DCB_STATE_POLLING;
|
||||||
session->client->func.hangup = hup;
|
|
||||||
sleep(15);
|
sleep(15);
|
||||||
|
|
||||||
ss_info_dassert(success, "Session timeout failed");
|
ss_info_dassert(dcb->state != DCB_STATE_POLLING, "Session timeout failed");
|
||||||
|
|
||||||
ss_dfprintf(stderr, "\t..done\nStopping Service.");
|
ss_dfprintf(stderr, "\t..done\nStopping Service.");
|
||||||
ss_info_dassert(0 != serviceStop(service), "Stop should succeed");
|
serviceStop(service);
|
||||||
|
ss_info_dassert(service->state == SERVICE_STATE_STOPPED, "Stop should succeed");
|
||||||
ss_dfprintf(stderr, "\t..done\n");
|
ss_dfprintf(stderr, "\t..done\n");
|
||||||
|
|
||||||
/** This is never used in MaxScale and will always fail due to service's
|
|
||||||
* stats.n_current value never being decremented */
|
|
||||||
/*
|
|
||||||
|
|
||||||
ss_dfprintf(stderr, "\t..done\nFreeing Service.");
|
|
||||||
ss_info_dassert(0 != service_free(service), "Free should succeed");
|
|
||||||
ss_dfprintf(stderr, "\t..done\n");
|
|
||||||
|
|
||||||
*/
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ else
|
|||||||
TDIR=.
|
TDIR=.
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RUNCMD=mysql\ --host=$THOST\ -P$TPORT\ -u$TUSER\ -p$TPWD\ --unbuffered=true\ --disable-reconnect\ --silent\ --comment
|
RUNCMD="mysql --host=$THOST -P$TPORT -u$TUSER -p$TPWD --unbuffered=true --disable-reconnect --silent -c"
|
||||||
i=0
|
i=0
|
||||||
|
|
||||||
while read -r LINE
|
while read -r LINE
|
||||||
|
Reference in New Issue
Block a user