diff options
Diffstat (limited to 'Source/charon/testcases')
-rw-r--r-- | Source/charon/testcases/aes_cbc_crypter_test.c | 6 | ||||
-rw-r--r-- | Source/charon/testcases/diffie_hellman_test.c | 6 | ||||
-rw-r--r-- | Source/charon/testcases/generator_test.c | 39 | ||||
-rw-r--r-- | Source/charon/testcases/hmac_signer_test.c | 10 | ||||
-rw-r--r-- | Source/charon/testcases/packet_test.c | 2 | ||||
-rw-r--r-- | Source/charon/testcases/parser_test.c | 2 | ||||
-rw-r--r-- | Source/charon/testcases/receiver_test.c | 6 | ||||
-rw-r--r-- | Source/charon/testcases/scheduler_test.c | 14 | ||||
-rw-r--r-- | Source/charon/testcases/sender_test.c | 6 | ||||
-rw-r--r-- | Source/charon/testcases/testcases.c | 118 |
10 files changed, 97 insertions, 112 deletions
diff --git a/Source/charon/testcases/aes_cbc_crypter_test.c b/Source/charon/testcases/aes_cbc_crypter_test.c index 1ffbd40f8..217448c2d 100644 --- a/Source/charon/testcases/aes_cbc_crypter_test.c +++ b/Source/charon/testcases/aes_cbc_crypter_test.c @@ -25,7 +25,7 @@ #include "aes_cbc_crypter_test.h" #include <utils/allocator.h> -#include <globals.h> +#include <daemon.h> void test_aes_cbc_crypter(tester_t *tester) { @@ -53,7 +53,7 @@ void test_aes_cbc_crypter(tester_t *tester) chunk_t decrypted1; logger_t *logger; - logger = global_logger_manager->create_logger(global_logger_manager,TESTER,"AES CBC"); + logger = charon->logger_manager->create_logger(charon->logger_manager,TESTER,"AES CBC"); crypter = (crypter_t *) aes_cbc_crypter_create(16); tester->assert_true(tester, (crypter != NULL), "create call test"); @@ -199,6 +199,6 @@ void test_aes_cbc_crypter(tester_t *tester) crypter->destroy(crypter); - global_logger_manager->destroy_logger(global_logger_manager,logger); + charon->logger_manager->destroy_logger(charon->logger_manager,logger); } diff --git a/Source/charon/testcases/diffie_hellman_test.c b/Source/charon/testcases/diffie_hellman_test.c index d69a089f8..b4727f727 100644 --- a/Source/charon/testcases/diffie_hellman_test.c +++ b/Source/charon/testcases/diffie_hellman_test.c @@ -24,7 +24,7 @@ #include "../transforms/diffie_hellman.h" -#include <globals.h> +#include <daemon.h> #include <utils/logger_manager.h> #include <utils/allocator.h> #include <encoding/payloads/transform_substructure.h> @@ -39,7 +39,7 @@ void test_diffie_hellman(tester_t *tester) chunk_t my_public_value, other_public_value; chunk_t my_secret, other_secret; - logger = global_logger_manager->create_logger(global_logger_manager,TESTER,"Diffie Hellman"); + logger = charon->logger_manager->create_logger(charon->logger_manager,TESTER,"Diffie Hellman"); my_diffie_hellman = diffie_hellman_create(MODP_1024_BIT); @@ -73,5 +73,5 @@ void test_diffie_hellman(tester_t *tester) my_diffie_hellman->destroy(my_diffie_hellman); other_diffie_hellman->destroy(other_diffie_hellman); - global_logger_manager->destroy_logger(global_logger_manager,logger); + charon->logger_manager->destroy_logger(charon->logger_manager,logger); } diff --git a/Source/charon/testcases/generator_test.c b/Source/charon/testcases/generator_test.c index 636ffb224..b3faa9966 100644 --- a/Source/charon/testcases/generator_test.c +++ b/Source/charon/testcases/generator_test.c @@ -24,7 +24,7 @@ #include "generator_test.h" -#include <globals.h> +#include <daemon.h> #include <encoding/generator.h> #include <utils/allocator.h> #include <utils/logger_manager.h> @@ -50,7 +50,7 @@ void test_generator_with_header_payload(tester_t *tester) chunk_t generated_data; logger_t *logger; - logger = global_logger_manager->create_logger(global_logger_manager,TESTER,"header payload"); + logger = charon->logger_manager->create_logger(charon->logger_manager,TESTER,"header payload"); header_data = ike_header_create(); header_data->set_initiator_spi(header_data,1); @@ -121,7 +121,7 @@ void test_generator_with_header_payload(tester_t *tester) header_data->destroy(header_data); - global_logger_manager->destroy_logger(global_logger_manager,logger); + charon->logger_manager->destroy_logger(charon->logger_manager,logger); generator->destroy(generator); } @@ -135,7 +135,7 @@ void test_generator_with_transform_attribute(tester_t *tester) chunk_t generated_data; logger_t *logger; - logger = global_logger_manager->create_logger(global_logger_manager,TESTER,"transform_attribute payload"); + logger = charon->logger_manager->create_logger(charon->logger_manager,TESTER,"transform_attribute payload"); /* test empty attribute */ @@ -216,7 +216,7 @@ void test_generator_with_transform_attribute(tester_t *tester) generator->destroy(generator); - global_logger_manager->destroy_logger(global_logger_manager,logger); + charon->logger_manager->destroy_logger(charon->logger_manager,logger); } @@ -233,7 +233,7 @@ void test_generator_with_transform_substructure(tester_t *tester) chunk_t generated_data; logger_t *logger; - logger = global_logger_manager->create_logger(global_logger_manager,TESTER,"transform substr."); + logger = charon->logger_manager->create_logger(charon->logger_manager,TESTER,"transform substr."); /* create generator */ generator = generator_create(); @@ -287,7 +287,7 @@ void test_generator_with_transform_substructure(tester_t *tester) generator->destroy(generator); - global_logger_manager->destroy_logger(global_logger_manager,logger); + charon->logger_manager->destroy_logger(charon->logger_manager,logger); } @@ -304,7 +304,7 @@ void test_generator_with_proposal_substructure(tester_t *tester) chunk_t generated_data; logger_t *logger; - logger = global_logger_manager->create_logger(global_logger_manager,TESTER,"transform substr."); + logger = charon->logger_manager->create_logger(charon->logger_manager,TESTER,"transform substr."); /* create generator */ generator = generator_create(); @@ -403,7 +403,7 @@ void test_generator_with_proposal_substructure(tester_t *tester) generator->destroy(generator); - global_logger_manager->destroy_logger(global_logger_manager,logger); + charon->logger_manager->destroy_logger(charon->logger_manager,logger); } /* @@ -422,7 +422,7 @@ void test_generator_with_sa_payload(tester_t *tester) chunk_t generated_data; logger_t *logger; - logger = global_logger_manager->create_logger(global_logger_manager,TESTER,"Message with SA Payload"); + logger = charon->logger_manager->create_logger(charon->logger_manager,TESTER,"Message with SA Payload"); /* create generator */ generator = generator_create(); @@ -559,7 +559,7 @@ void test_generator_with_sa_payload(tester_t *tester) sa_payload->destroy(sa_payload); generator->destroy(generator); - global_logger_manager->destroy_logger(global_logger_manager,logger); + charon->logger_manager->destroy_logger(charon->logger_manager,logger); } @@ -574,7 +574,7 @@ void test_generator_with_ke_payload(tester_t *tester) chunk_t generated_data; chunk_t key_exchange_data; - logger = global_logger_manager->create_logger(global_logger_manager,TESTER,"Message with KE Payload"); + logger = charon->logger_manager->create_logger(charon->logger_manager,TESTER,"Message with KE Payload"); /* create generator */ generator = generator_create(); @@ -614,7 +614,7 @@ void test_generator_with_ke_payload(tester_t *tester) ke_payload->destroy(ke_payload); generator->destroy(generator); - global_logger_manager->destroy_logger(global_logger_manager,logger); + charon->logger_manager->destroy_logger(charon->logger_manager,logger); } @@ -629,7 +629,7 @@ void test_generator_with_notify_payload(tester_t *tester) chunk_t generated_data; chunk_t spi,notification_data; - logger = global_logger_manager->create_logger(global_logger_manager,TESTER,"Message with Notify Payload"); + logger = charon->logger_manager->create_logger(charon->logger_manager,TESTER,"Message with Notify Payload"); /* create generator */ generator = generator_create(); @@ -674,7 +674,7 @@ void test_generator_with_notify_payload(tester_t *tester) notify_payload->destroy(notify_payload); generator->destroy(generator); - global_logger_manager->destroy_logger(global_logger_manager,logger); + charon->logger_manager->destroy_logger(charon->logger_manager,logger); } @@ -689,7 +689,7 @@ void test_generator_with_nonce_payload(tester_t *tester) chunk_t generated_data; chunk_t nonce; - logger = global_logger_manager->create_logger(global_logger_manager,TESTER,"Message with Nonce Payload"); + logger = charon->logger_manager->create_logger(charon->logger_manager,TESTER,"Message with Nonce Payload"); /* create generator */ generator = generator_create(); @@ -728,7 +728,7 @@ void test_generator_with_nonce_payload(tester_t *tester) nonce_payload->destroy(nonce_payload); generator->destroy(generator); - global_logger_manager->destroy_logger(global_logger_manager,logger); + charon->logger_manager->destroy_logger(charon->logger_manager,logger); } @@ -743,7 +743,7 @@ void test_generator_with_id_payload(tester_t *tester) chunk_t generated_data; chunk_t id; - logger = global_logger_manager->create_logger(global_logger_manager,TESTER,"Message with ID Payload"); + logger = charon->logger_manager->create_logger(charon->logger_manager,TESTER,"Message with ID Payload"); /* create generator */ generator = generator_create(); @@ -782,7 +782,6 @@ void test_generator_with_id_payload(tester_t *tester) id_payload->destroy(id_payload); generator->destroy(generator); - global_logger_manager->destroy_logger(global_logger_manager,logger); - + charon->logger_manager->destroy_logger(charon->logger_manager,logger); } diff --git a/Source/charon/testcases/hmac_signer_test.c b/Source/charon/testcases/hmac_signer_test.c index 08e989f01..a453fe6fd 100644 --- a/Source/charon/testcases/hmac_signer_test.c +++ b/Source/charon/testcases/hmac_signer_test.c @@ -27,7 +27,7 @@ #include <transforms/signers/signer.h> #include <utils/allocator.h> -#include <globals.h> +#include <daemon.h> /* @@ -56,7 +56,7 @@ void test_hmac_md5_signer(tester_t *tester) logger_t *logger; bool valid; - logger = global_logger_manager->create_logger(global_logger_manager,TESTER,"HMAC MD5 96"); + logger = charon->logger_manager->create_logger(charon->logger_manager,TESTER,"HMAC MD5 96"); signer_t *signer = (signer_t *) signer_create(AUTH_HMAC_MD5_96); tester->assert_true(tester, (signer != NULL), "signer create call check"); @@ -109,7 +109,7 @@ void test_hmac_md5_signer(tester_t *tester) signer->destroy(signer); - global_logger_manager->destroy_logger(global_logger_manager,logger); + charon->logger_manager->destroy_logger(charon->logger_manager,logger); } @@ -138,7 +138,7 @@ void test_hmac_sha1_signer(tester_t *tester) logger_t *logger; bool valid; - logger = global_logger_manager->create_logger(global_logger_manager,TESTER,"HMAC SHA1 96"); + logger = charon->logger_manager->create_logger(charon->logger_manager,TESTER,"HMAC SHA1 96"); signer_t *signer = (signer_t *) signer_create(AUTH_HMAC_SHA1_96); tester->assert_true(tester, (signer != NULL), "signer create call check"); @@ -205,6 +205,6 @@ void test_hmac_sha1_signer(tester_t *tester) } signer->destroy(signer); - global_logger_manager->destroy_logger(global_logger_manager,logger); + charon->logger_manager->destroy_logger(charon->logger_manager,logger); } diff --git a/Source/charon/testcases/packet_test.c b/Source/charon/testcases/packet_test.c index 28a90be58..f933362af 100644 --- a/Source/charon/testcases/packet_test.c +++ b/Source/charon/testcases/packet_test.c @@ -24,7 +24,7 @@ #include "packet_test.h" -#include <globals.h> +#include <daemon.h> #include <network/packet.h> #include <utils/allocator.h> #include <utils/logger_manager.h> diff --git a/Source/charon/testcases/parser_test.c b/Source/charon/testcases/parser_test.c index ae12c5720..928d96959 100644 --- a/Source/charon/testcases/parser_test.c +++ b/Source/charon/testcases/parser_test.c @@ -37,8 +37,6 @@ #include <encoding/payloads/notify_payload.h> -extern logger_manager_t *global_logger_manager; - /* * Described in Header diff --git a/Source/charon/testcases/receiver_test.c b/Source/charon/testcases/receiver_test.c index af3265096..b308193de 100644 --- a/Source/charon/testcases/receiver_test.c +++ b/Source/charon/testcases/receiver_test.c @@ -25,7 +25,7 @@ #include "receiver_test.h" -#include <globals.h> +#include <daemon.h> #include <threads/receiver.h> #include <network/packet.h> #include <network/socket.h> @@ -66,13 +66,13 @@ void test_receiver(tester_t *tester) packet->data.ptr = allocator_alloc_thing(int); packet->data.len = ( sizeof(int)); *((int *) (packet->data.ptr)) = i; - global_socket->send(global_socket,packet); + charon->socket->send(charon->socket,packet); packet->destroy(packet); } for (i = 0; i < NUMBER_OF_PACKETS_TO_SEND; i++) { - job = global_job_queue->get(global_job_queue); + job = charon->job_queue->get(charon->job_queue); tester->assert_true(tester, (job->get_type(job) == INCOMING_PACKET), "job type check"); received_packet = ((incoming_packet_job_t *)(job))->get_packet((incoming_packet_job_t *)(job)); diff --git a/Source/charon/testcases/scheduler_test.c b/Source/charon/testcases/scheduler_test.c index e8ba827f4..a34527c8a 100644 --- a/Source/charon/testcases/scheduler_test.c +++ b/Source/charon/testcases/scheduler_test.c @@ -25,7 +25,7 @@ #include "scheduler_test.h" -#include <globals.h> +#include <daemon.h> #include <threads/scheduler.h> #include <queues/event_queue.h> #include <queues/job_queue.h> @@ -50,7 +50,7 @@ void test_scheduler(tester_t *tester) { /* misusing for testing only */ jobs[current] = (job_t *) incoming_packet_job_create((packet_t*)(current+1)); - global_event_queue->add_relative(global_event_queue, jobs[current], (current+1) * 500); + charon->event_queue->add_relative(charon->event_queue, jobs[current], (current+1) * 500); } @@ -66,18 +66,18 @@ void test_scheduler(tester_t *tester) { usleep(400 * 1000); - tester->assert_true(tester, (global_job_queue->get_count(global_job_queue) == current ), "job-queue size before event"); - tester->assert_true(tester, (global_event_queue->get_count(global_event_queue) == job_count - current), "event-queue size before event"); + tester->assert_true(tester, (charon->job_queue->get_count(charon->job_queue) == current ), "job-queue size before event"); + tester->assert_true(tester, (charon->event_queue->get_count(charon->event_queue) == job_count - current), "event-queue size before event"); usleep(100 * 1000); - tester->assert_true(tester, (global_job_queue->get_count(global_job_queue) == current + 1), "job-queue size after event"); - tester->assert_true(tester, (global_event_queue->get_count(global_event_queue) == job_count - current - 1), "event-queue size after event"); + tester->assert_true(tester, (charon->job_queue->get_count(charon->job_queue) == current + 1), "job-queue size after event"); + tester->assert_true(tester, (charon->event_queue->get_count(charon->event_queue) == job_count - current - 1), "event-queue size after event"); } /* check job order */ for (current = 0; current < job_count; current++) { - jobs[current] = global_job_queue->get(global_job_queue); + jobs[current] = charon->job_queue->get(charon->job_queue); incoming_packet_job_t *current_job; current_job = (incoming_packet_job_t*) jobs[current]; packet_t *packet; diff --git a/Source/charon/testcases/sender_test.c b/Source/charon/testcases/sender_test.c index d00bc5320..0fc7b931a 100644 --- a/Source/charon/testcases/sender_test.c +++ b/Source/charon/testcases/sender_test.c @@ -24,7 +24,7 @@ #include "sender_test.h" -#include <globals.h> +#include <daemon.h> #include <threads/sender.h> #include <network/packet.h> #include <network/socket.h> @@ -62,12 +62,12 @@ void test_sender(tester_t *tester) packet->data.ptr = allocator_alloc_thing(int); packet->data.len = ( sizeof(int)); *((int *) (packet->data.ptr)) = i; - global_send_queue->add(global_send_queue,packet); + charon->send_queue->add(charon->send_queue,packet); } for (i = 0; i < NUMBER_OF_PACKETS_TO_SEND; i++) { - global_socket->receive(global_socket,&received_packet); + charon->socket->receive(charon->socket,&received_packet); tester->assert_true(tester, (received_packet->data.len == (sizeof(int))), "received data length check"); tester->assert_true(tester, (i == *((int *)(received_packet->data.ptr))), "received data value check"); received_packet->destroy(received_packet); 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 */ |