#!/bin/bash # Tests for stream connections # # Copyright 2012 Serval Project, Inc. # # 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. # # 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. source "${0%/*}/../testframework.sh" source "${0%/*}/../testdefs.sh" _simulator() { # TODO timeout & failure reporting? $servald_build_root/simulator <&8 >$SIM_OUT } start_simulator() { SIM_IN="$PWD/SIM_IN" SIM_OUT="$PWD/SIM_OUT" mkfifo "$SIM_IN" exec 8<>"$SIM_IN" fork %simulator _simulator } simulator_command() { tfw_log "$@" assert_fork_is_running %simulator echo "$@" >> "$SIM_IN" } setup_common() { setup_servald assert_no_servald_processes start_simulator simulator_command create "net1" "$SERVALD_VAR/dummy1/" simulator_command up "net1" } finally() { simulator_command quit fork_wait %simulator } teardown() { stop_all_servald_servers kill_all_servald_processes assert_no_servald_processes report_all_servald_servers } configure_servald_server() { create_single_identity add_servald_interface executeOk_servald config \ set debug.mdprequests on \ set debug.msp on \ set log.console.level DEBUG \ set log.console.show_time on } doc_connect_fail="Timeout when the connection isn't reachable" setup_connect_fail() { setup_common set_instance +B create_single_identity start_servald_instances +A } test_connect_fail() { set_instance +A execute --exit-status=1 --timeout=20 $servald msp connect $SIDB 512 <