diff options
author | Sander Vrijders <sander.vrijders@ugent.be> | 2017-05-15 18:08:53 +0200 |
---|---|---|
committer | Sander Vrijders <sander.vrijders@ugent.be> | 2017-05-15 18:21:45 +0200 |
commit | 5d87cec1757c4e1c23ae778f2814363c1e39b43c (patch) | |
tree | ea57e4a1e634d3b7e7325b61f6dba36d941e03ae /src/ipcpd/normal/tests | |
parent | 0fc0f3701ef4f504e71eadcc92a93faf1dd33bf4 (diff) | |
download | ouroboros-5d87cec1757c4e1c23ae778f2814363c1e39b43c.tar.gz ouroboros-5d87cec1757c4e1c23ae778f2814363c1e39b43c.zip |
ipcpd: normal: Make routing a policy
This makes the routing component into a policy since different
approaches may exist to do this, depending on how high the rank of the
DIF is.
Diffstat (limited to 'src/ipcpd/normal/tests')
-rw-r--r-- | src/ipcpd/normal/tests/CMakeLists.txt | 34 | ||||
-rw-r--r-- | src/ipcpd/normal/tests/graph_test.c | 240 |
2 files changed, 0 insertions, 274 deletions
diff --git a/src/ipcpd/normal/tests/CMakeLists.txt b/src/ipcpd/normal/tests/CMakeLists.txt deleted file mode 100644 index 55ca425a..00000000 --- a/src/ipcpd/normal/tests/CMakeLists.txt +++ /dev/null @@ -1,34 +0,0 @@ -get_filename_component(CURRENT_SOURCE_PARENT_DIR - ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY) -get_filename_component(CURRENT_BINARY_PARENT_DIR - ${CMAKE_CURRENT_BINARY_DIR} DIRECTORY) - -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) - -include_directories(${CURRENT_SOURCE_PARENT_DIR}) -include_directories(${CURRENT_BINARY_PARENT_DIR}) - -include_directories(${CMAKE_SOURCE_DIR}/include) -include_directories(${CMAKE_BINARY_DIR}/include) - -get_filename_component(PARENT_PATH ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY) -get_filename_component(PARENT_DIR ${PARENT_PATH} NAME) - -create_test_sourcelist(${PARENT_DIR}_tests test_suite.c - # Add new tests here - graph_test.c - ) - -add_executable(${PARENT_DIR}_test EXCLUDE_FROM_ALL ${${PARENT_DIR}_tests}) -target_link_libraries(${PARENT_DIR}_test ouroboros) - -add_dependencies(check ${PARENT_DIR}_test) - -set(tests_to_run ${${PARENT_DIR}_tests}) -remove(tests_to_run test_suite.c) - -foreach (test ${tests_to_run}) - get_filename_component(test_name ${test} NAME_WE) - add_test(${test_name} ${C_TEST_PATH}/${PARENT_DIR}_test ${test_name}) -endforeach (test) diff --git a/src/ipcpd/normal/tests/graph_test.c b/src/ipcpd/normal/tests/graph_test.c deleted file mode 100644 index 3d433e34..00000000 --- a/src/ipcpd/normal/tests/graph_test.c +++ /dev/null @@ -1,240 +0,0 @@ -/* - * Ouroboros - Copyright (C) 2016 - 2017 - * - * Test of the graph structure - * - * Dimitri Staessens <dimitri.staessens@ugent.be> - * Sander Vrijders <sander.vrijders@ugent.be> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include <ouroboros/config.h> -#include <ouroboros/utils.h> - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "graph.c" - -struct graph * graph; -struct routing_table ** table; -ssize_t n_table; -qosspec_t qs; - -int graph_test_entries(int entries) -{ - n_table = graph_routing_table(graph, 1, &table); - - if (n_table != entries) { - printf("Wrong number of entries.\n"); - freepp(struct routing_table, table, n_table); - return -1; - } - - freepp(struct routing_table, table, n_table); - - return 0; -} - -int graph_test_double_link(void) -{ - n_table = graph_routing_table(graph, 1, &table); - if (n_table < 0 || table == NULL) { - printf("Failed to get routing table.\n"); - return -1; - } - - if (n_table != 2) { - printf("Wrong number of entries.\n"); - freepp(struct routing_table, table, n_table); - return -1; - } - - if ((table[0]->dst != 2 && table[0]->nhop != 2) || - (table[0]->dst != 3 && table[0]->nhop != 2)) { - printf("Wrong routing entry.\n"); - freepp(struct routing_table, table, n_table); - return -1; - } - - if ((table[1]->dst != 2 && table[1]->nhop != 2) || - (table[0]->dst != 3 && table[0]->nhop != 2)) { - printf("Wrong routing entry.\n"); - freepp(struct routing_table, table, n_table); - return -1; - } - - freepp(struct routing_table, table, n_table); - - return 0; -} - -int graph_test_single_link(void) -{ - n_table = graph_routing_table(graph, 1, &table); - if (n_table < 0 || table == NULL) { - printf("Failed to get routing table.\n"); - return -1; - } - - if (n_table != 1) { - printf("Wrong number of entries.\n"); - freepp(struct routing_table, table, n_table); - return -1; - } - - if (table[0]->dst != 2 && table[0]->nhop != 2) { - printf("Wrong routing entry.\n"); - freepp(struct routing_table, table, n_table); - return -1; - } - - freepp(struct routing_table, table, n_table); - - return 0; -} - -int graph_test(int argc, - char ** argv) -{ - int i; - int nhop; - int dst; - - (void) argc; - (void) argv; - - memset(&qs, 0, sizeof(qs)); - - graph = graph_create(); - if (graph == NULL) { - printf("Failed to create graph.\n"); - return -1; - } - - graph_destroy(graph); - - graph = graph_create(); - if (graph == NULL) { - printf("Failed to create graph.\n"); - return -1; - } - - if (graph_update_edge(graph, 1, 2, qs)) { - printf("Failed to add edge.\n"); - graph_destroy(graph); - return -1; - } - - if (graph_test_single_link()) { - graph_destroy(graph); - return -1; - } - - if (graph_update_edge(graph, 2, 3, qs)) { - printf("Failed to add edge.\n"); - graph_destroy(graph); - return -1; - } - - if (graph_test_double_link()) { - graph_destroy(graph); - return -1; - } - - if (graph_del_edge(graph, 2, 3)) { - printf("Failed to delete edge.\n"); - graph_destroy(graph); - return -1; - } - - if (graph_test_single_link()) { - graph_destroy(graph); - return -1; - } - - graph_update_edge(graph, 2, 3, qs); - graph_update_edge(graph, 1, 3, qs); - - if (graph_test_entries(2)) { - graph_destroy(graph); - return -1; - } - - graph_update_edge(graph, 3, 4, qs); - graph_update_edge(graph, 4, 5, qs); - - if (graph_test_entries(4)) { - graph_destroy(graph); - return -1; - } - - graph_update_edge(graph, 2, 6, qs); - graph_update_edge(graph, 6, 7, qs); - graph_update_edge(graph, 3, 7, qs); - - if (graph_test_entries(6)) { - graph_destroy(graph); - return -1; - } - - n_table = graph_routing_table(graph, 1, &table); - - for (i = 0; i < 6; i++) { - nhop = table[i]->nhop; - dst = table[i]->dst; - - if (dst == 3 && nhop != 3) { - printf("Wrong entry."); - freepp(struct routing_table, table, n_table); - return -1; - } - - if (dst == 2 && nhop != 2) { - printf("Wrong entry."); - freepp(struct routing_table, table, n_table); - return -1; - } - - if (dst == 6 && nhop != 2) { - printf("Wrong entry."); - freepp(struct routing_table, table, n_table); - return -1; - } - - if (dst == 4 && nhop != 3) { - printf("Wrong entry."); - freepp(struct routing_table, table, n_table); - return -1; - } - - if (dst == 5 && nhop != 3) { - printf("Wrong entry."); - freepp(struct routing_table, table, n_table); - return -1; - } - - if (dst == 7 && nhop != 3) { - printf("Wrong entry."); - freepp(struct routing_table, table, n_table); - return -1; - } - } - - freepp(struct routing_table, table, n_table); - - return 0; -} |