diff options
Diffstat (limited to 'src/charon/testing/scheduler_test.c')
-rw-r--r-- | src/charon/testing/scheduler_test.c | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/src/charon/testing/scheduler_test.c b/src/charon/testing/scheduler_test.c deleted file mode 100644 index e522a24cc..000000000 --- a/src/charon/testing/scheduler_test.c +++ /dev/null @@ -1,93 +0,0 @@ -/** - * @file scheduler_test.c - * - * @brief Tests for the scheduler_t class. - * - */ - -/* - * Copyright (C) 2005-2006 Martin Willi - * Copyright (C) 2005 Jan Hutter - * Hochschule fuer Technik Rapperswil - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - */ - -#include <string.h> -#include <unistd.h> - -#include "scheduler_test.h" - -#include <daemon.h> -#include <threads/scheduler.h> -#include <queues/event_queue.h> -#include <queues/job_queue.h> -#include <queues/jobs/incoming_packet_job.h> - - -/** - * @brief implementation of a scheduler test - * - * This one uses relative time events, which are not that exact. - * Test may fail on too slow machines. - */ -void test_scheduler(protected_tester_t *tester) -{ - int job_count = 5; - job_t *jobs[job_count]; - int current; - scheduler_t *scheduler = scheduler_create(); - - /* schedule 5 jobs */ - for (current = 0; current < job_count; current++) - { - /* misusing for testing only */ - jobs[current] = (job_t *) incoming_packet_job_create((packet_t*)(current+1)); - charon->event_queue->add_relative(charon->event_queue, jobs[current], (current+1) * 500); - } - - - for (current = 0; current < job_count; current++) - { - jobs[current] = NULL; - } - - usleep(50 * 1000); - - /* check if times are correct */ - for (current = 0; current < job_count; current++) - { - usleep(400 * 1000); - - 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, (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] = charon->job_queue->get(charon->job_queue); - incoming_packet_job_t *current_job; - current_job = (incoming_packet_job_t*) jobs[current]; - packet_t *packet; - packet = current_job->get_packet(current_job); - - tester->assert_true(tester, (((int)packet) == current+1), "job order"); - jobs[current]->destroy(jobs[current]); - } - - /* destruction test */ - scheduler->destroy(scheduler); -} |