- globals packed in a daemon

This commit is contained in:
Martin Willi
2005-11-29 10:25:07 +00:00
parent 79b9c1d6c5
commit 0e96f7d8c3
28 changed files with 471 additions and 516 deletions
@@ -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);
}
@@ -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);
}
+19 -20
View File
@@ -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);
}
+5 -5
View File
@@ -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);
}
+1 -1
View File
@@ -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>
-2
View File
@@ -37,8 +37,6 @@
#include <encoding/payloads/notify_payload.h>
extern logger_manager_t *global_logger_manager;
/*
* Described in Header
+3 -3
View File
@@ -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));
+7 -7
View File
@@ -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;
+3 -3
View File
@@ -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);
+59 -71
View File
@@ -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;
daemon_t* charon;
/**
* Global event-queue
*/
event_queue_t *global_event_queue;
/**
* Global send-queue
*/
send_queue_t *global_send_queue;
/**
* Global configuration_manager
*/
configuration_manager_t *global_configuration_manager;
/**
* Global configuration_manager
*/
ike_sa_manager_t *global_ike_sa_manager;
/**
* Global socket
*/
socket_t *global_socket;
/**
* Global logger
*/
logger_manager_t *global_logger_manager;
int main()
static void daemon_destroy(daemon_t *this, char* none)
{
FILE * test_output = stderr;
test_t *all_tests[] ={
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);
}
/**
* @brief Create the dummy daemon for testing.
*
* @return created daemon_t
*/
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;
}
int main()
{
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);
global_logger_manager->destroy(global_logger_manager);
charon->destroy(charon, NULL);
#ifdef LEAK_DETECTIVE
/* Leaks are reported on stderr */