diff options
Diffstat (limited to 'Source/charon/testcases/testcases.c')
-rw-r--r-- | Source/charon/testcases/testcases.c | 118 |
1 files changed, 53 insertions, 65 deletions
diff --git a/Source/charon/testcases/testcases.c b/Source/charon/testcases/testcases.c index 2a41f469d..9d5b2e00d 100644 --- a/Source/charon/testcases/testcases.c +++ b/Source/charon/testcases/testcases.c @@ -23,6 +23,8 @@ #include <stdio.h> +#include <daemon.h> + #include <queues/job_queue.h> #include <queues/event_queue.h> #include <queues/send_queue.h> @@ -98,47 +100,53 @@ test_t hmac_signer_test1 = {test_hmac_md5_signer, "HMAC MD5 signer test"}; test_t hmac_signer_test2 = {test_hmac_sha1_signer, "HMAC SHA1 signer test"}; -/** - * Global job-queue - */ -job_queue_t *global_job_queue; - -/** - * Global event-queue - */ -event_queue_t *global_event_queue; - -/** - * Global send-queue - */ -send_queue_t *global_send_queue; +daemon_t* charon; -/** - * Global configuration_manager - */ -configuration_manager_t *global_configuration_manager; +static void daemon_destroy(daemon_t *this, char* none) +{ + this->logger_manager->destroy(this->logger_manager); + this->socket->destroy(this->socket); + this->ike_sa_manager->destroy(this->ike_sa_manager); + this->job_queue->destroy(this->job_queue); + this->event_queue->destroy(this->event_queue); + this->send_queue->destroy(this->send_queue); + this->configuration_manager->destroy(this->configuration_manager); + allocator_free(charon); +} /** - * Global configuration_manager + * @brief Create the dummy daemon for testing. + * + * @return created daemon_t */ -ike_sa_manager_t *global_ike_sa_manager; - - /** - * Global socket - */ -socket_t *global_socket; +daemon_t *daemon_create() +{ + charon = allocator_alloc_thing(daemon_t); + + /* assign methods */ + charon->destroy = daemon_destroy; + + charon->logger_manager = logger_manager_create(0); + charon->socket = socket_create(4600); + charon->ike_sa_manager = ike_sa_manager_create(); + charon->job_queue = job_queue_create(); + charon->event_queue = event_queue_create(); + charon->send_queue = send_queue_create(); + charon->configuration_manager = configuration_manager_create(); + charon->sender = NULL; + charon->receiver = NULL; + charon->scheduler = NULL; + charon->thread_pool = NULL; + + return charon; +} -/** - * Global logger - */ -logger_manager_t *global_logger_manager; - - int main() +int main() { - FILE * test_output = stderr; - - test_t *all_tests[] ={ + FILE * test_output = stderr; + + test_t *all_tests[] ={ &linked_list_test, &iterator_test, &linked_list_insert_and_remove_test, @@ -180,42 +188,22 @@ logger_manager_t *global_logger_manager; &hmac_signer_test2, NULL }; - global_logger_manager = logger_manager_create(0); - - global_socket = socket_create(4600); - - global_job_queue = job_queue_create(); - global_event_queue = event_queue_create(); - global_send_queue = send_queue_create(); - global_configuration_manager = configuration_manager_create(); - global_ike_sa_manager = ike_sa_manager_create(); - - global_logger_manager->disable_logger_level(global_logger_manager,TESTER,FULL); - //global_logger_manager->enable_logger_level(global_logger_manager,TESTER,RAW); - - tester_t *tester = tester_create(test_output, FALSE); - - + + daemon_create(); + + charon->logger_manager->disable_logger_level(charon->logger_manager,TESTER,FULL); + //charon->logger_manager->enable_logger_level(charon->logger_manager,TESTER,RAW); + + tester_t *tester = tester_create(test_output, FALSE); + + tester->perform_tests(tester,all_tests); //tester->perform_test(tester,&generator_test9); - - - - tester->destroy(tester); - - - /* Destroy objects*/ - global_configuration_manager->destroy(global_configuration_manager); - global_ike_sa_manager->destroy(global_ike_sa_manager); - /* Destroy all queues */ - global_job_queue->destroy(global_job_queue); - global_event_queue->destroy(global_event_queue); - global_send_queue->destroy(global_send_queue); - global_socket->destroy(global_socket); + tester->destroy(tester); - global_logger_manager->destroy(global_logger_manager); + charon->destroy(charon, NULL); #ifdef LEAK_DETECTIVE /* Leaks are reported on stderr */ |