Added a header which contains the locations for the testing directory and its subfolders which enables
the test to write into the right logfiles. Also added a calls to skygw_log_sync_all before assertions
forcing all logs to be written to disk at the time the test might fail.
This commit is contained in:
Markus Makela 2015-01-05 15:06:38 +02:00
parent b99467cd63
commit 2d8375bb12
3 changed files with 24 additions and 8 deletions

View File

@ -35,7 +35,7 @@ add_test(TestBuffer test_buffer)
add_test(TestDCB test_dcb)
add_test(TestModutil test_modutil)
add_test(TestPoll test_poll)
add_test(TestService test_service)
add_test(TestService /bin/sh -c " MAXSCALE_HOME=${CMAKE_BINARY_DIR} && ${CMAKE_CURRENT_BINAR_DIR}/test_service")
add_test(TestServer test_server)
add_test(TestUsers test_users)
add_test(TestAdminUsers test_adminusers)

View File

@ -30,7 +30,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <maxscale_test.h>
#include <service.h>
/**
@ -42,15 +42,27 @@ test1()
{
SERVICE *service;
int result;
int argc = 3;
char buffer[1024];
sprintf(buffer,"%s",TEST_LOG_DIR);
char* argv[] = {
"log_manager",
"-j",
buffer,
NULL
};
skygw_logmanager_init(argc,argv);
/* Service tests */
ss_dfprintf(stderr,
"testservice : creating service called MyService with router nonexistent");
service = service_alloc("MyService", "non-existent");
skygw_log_sync_all();
ss_info_dassert(NULL == service, "New service with invalid router should be null");
ss_info_dassert(0 == service_isvalid(service), "Service must not be valid after incorrect creation");
ss_dfprintf(stderr, "\t..done\nValid service creation, router testroute.");
service = service_alloc("MyService", "testroute");
skygw_log_sync_all();
ss_info_dassert(NULL != service, "New service with valid router must not be null");
ss_info_dassert(0 != service_isvalid(service), "Service must be valid after creation");
ss_info_dassert(0 == strcmp("MyService", service_get_name(service)), "Service must have given name");
@ -58,12 +70,16 @@ int result;
ss_info_dassert(0 != serviceAddProtocol(service, "HTTPD", "localhost", 9876), "Add Protocol should succeed");
ss_info_dassert(0 != serviceHasProtocol(service, "HTTPD", 9876), "Service should have new protocol as requested");
serviceStartProtocol(service, "HTTPD", 9876);
skygw_log_sync_all();
ss_dfprintf(stderr, "\t..done\nStarting Service.");
result = serviceStart(service);
skygw_log_sync_all();
ss_info_dassert(0 != result, "Start should succeed");
result = serviceStop(service);
skygw_log_sync_all();
ss_info_dassert(0 != result, "Stop should succeed");
result = serviceStartAll();
skygw_log_sync_all();
ss_info_dassert(0 != result, "Start all should succeed");
ss_dfprintf(stderr, "\t..done\nStopping Service.");

View File

@ -1,9 +1,9 @@
#ifndef MAXSCALE_TEST_H
#define MAXSCALE_TEST_H
#define TEST_DIR ${CMAKE_BINARY_DIR}
#define TEST_LOG_DIR ${CMAKE_BINARY_DIR}/log
#define TEST_BIN_DIR ${CMAKE_BINARY_DIR}/bin
#define TEST_MOD_DIR ${CMAKE_BINARY_DIR}/modules
#define TEST_LIB_DIR ${CMAKE_BINARY_DIR}/lib
#define TEST_ETC_DIR ${CMAKE_BINARY_DIR}/etc
#define TEST_DIR "${CMAKE_BINARY_DIR}"
#define TEST_LOG_DIR "${CMAKE_BINARY_DIR}/log"
#define TEST_BIN_DIR "${CMAKE_BINARY_DIR}/bin"
#define TEST_MOD_DIR "${CMAKE_BINARY_DIR}/modules"
#define TEST_LIB_DIR "${CMAKE_BINARY_DIR}/lib"
#define TEST_ETC_DIR "${CMAKE_BINARY_DIR}/etc"
#endif