aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/testcases/scheduler_test.c
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2006-04-05 12:10:50 +0000
committerMartin Willi <martin@strongswan.org>2006-04-05 12:10:50 +0000
commit6862128151fb78f63685a8da5575783c426d64a7 (patch)
tree75920a6688ed5654fb917ecccc1e0e469480fd1f /Source/charon/testcases/scheduler_test.c
parent3dbbbf3e16366b0da33b29bbc1a4ba9a976e43a0 (diff)
downloadstrongswan-6862128151fb78f63685a8da5575783c426d64a7.tar.bz2
strongswan-6862128151fb78f63685a8da5575783c426d64a7.tar.xz
../svn-commit.tmp
Diffstat (limited to 'Source/charon/testcases/scheduler_test.c')
-rw-r--r--Source/charon/testcases/scheduler_test.c92
1 files changed, 0 insertions, 92 deletions
diff --git a/Source/charon/testcases/scheduler_test.c b/Source/charon/testcases/scheduler_test.c
deleted file mode 100644
index de7346d83..000000000
--- a/Source/charon/testcases/scheduler_test.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- * @file scheduler_test.c
- *
- * @brief Tests for the scheduler_t class.
- *
- */
-
-/*
- * Copyright (C) 2005 Jan Hutter, Martin Willi
- * 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);
-}