aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/testcases
diff options
context:
space:
mode:
Diffstat (limited to 'Source/charon/testcases')
-rw-r--r--Source/charon/testcases/aes_cbc_crypter_test.c6
-rw-r--r--Source/charon/testcases/diffie_hellman_test.c6
-rw-r--r--Source/charon/testcases/generator_test.c39
-rw-r--r--Source/charon/testcases/hmac_signer_test.c10
-rw-r--r--Source/charon/testcases/packet_test.c2
-rw-r--r--Source/charon/testcases/parser_test.c2
-rw-r--r--Source/charon/testcases/receiver_test.c6
-rw-r--r--Source/charon/testcases/scheduler_test.c14
-rw-r--r--Source/charon/testcases/sender_test.c6
-rw-r--r--Source/charon/testcases/testcases.c118
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 */