Add log message injection to tests
By injecting messages into the maxscale.log from the test, the reader of the log can easily see the "synchronization" with the test case. This does affect the test timing so it can only be used to see whether non-timing related functionality is correct.
This commit is contained in:
parent
990208d0fd
commit
02395102ed
@ -1885,6 +1885,22 @@ void TestConnections::tprintf(const char* format, ...)
|
||||
fflush(stderr);
|
||||
}
|
||||
|
||||
void TestConnections::log_printf(const char* format, ...)
|
||||
{
|
||||
va_list argp;
|
||||
va_start(argp, format);
|
||||
int n = vsnprintf(nullptr, 0, format, argp);
|
||||
va_end(argp);
|
||||
|
||||
va_start(argp, format);
|
||||
char buf[n + 1];
|
||||
vsnprintf(buf, sizeof(buf), format, argp);
|
||||
va_end(argp);
|
||||
|
||||
maxscales->ssh_node_f(0, true, "echo '--- %s ---' >> /var/log/maxscale/maxscale.log", buf);
|
||||
tprintf("%s", buf);
|
||||
}
|
||||
|
||||
int TestConnections::get_master_server_id(int m)
|
||||
{
|
||||
int master_id = -1;
|
||||
|
@ -505,6 +505,11 @@ public:
|
||||
*/
|
||||
void tprintf(const char* format, ...);
|
||||
|
||||
/**
|
||||
* @brief injects a message into maxscale.log
|
||||
*/
|
||||
void log_printf(const char* format, ...) mxb_attribute((format(printf, 2, 3)));
|
||||
|
||||
/**
|
||||
* @brief Creats t1 table, insert data into it and checks if data can be correctly read from all Maxscale
|
||||
* services
|
||||
|
Loading…
x
Reference in New Issue
Block a user