This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
zhangyang-libzt/tests/api_test/clients.sh
2016-08-29 14:47:28 -07:00

47 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
echo "\n\n\n\nStarting client(s)"
# test.sh [udp|tcp|all] [nwid]
TEST_EXECUTABLE_PATH="build/tests"
protocol=$1
NWID=$2
HOME_DIR=$(pwd)/$TEST_EXECUTABLE_PATH
ZT_HOME_PATH=$(pwd)/$TEST_EXECUTABLE_PATH/zerotier
BUILD_PATH=$(pwd)/build
localAddr="127.0.0.1"
export ZT_NC_NETWORK=$ZT_HOME_PATH/nc_$NWID
export DYLD_LIBRARY_PATH=.$HOME_DIR/libztintercept.so
echo "network = " $NWID
echo "protocol = " $protocol
echo "ZT_NC_NETWORK = " $ZT_NC_NETWORK
echo "ZT_NC_NETWORK = " $ZT_NC_NETWORK
echo "ZT_HOME_PATH = " $ZT_HOME_PATH
echo "DYLD_LIBRARY_PATH = " $DYLD_LIBRARY_PATH
# Start ZeroTier service
echo "Starting ZeroTier background service..."
mkdir -p $ZT_HOME_PATH/networks.d
touch $ZT_HOME_PATH/networks.d/$NWID.conf
$BUILD_PATH/zerotier-sdk-service -U -p$RANDOM $ZT_HOME_PATH &
zt_service_pid=$!
if [ $protocol="tcp" ]; then
echo "Starting TCP test..."
random_tcp_server_port=$RANDOM
./$TEST_EXECUTABLE_PATH/Darwin.tcp_server.out $random_tcp_server_port &
tcp_server_pid=$!
echo "TCP SERVER AT = " $localAddr ":" $random_tcp_server_port
sleep 3
./$TEST_EXECUTABLE_PATH/Darwin.tcp_client.out $localAddr $random_tcp_server_port &
tcp_client_pid=$!
fi
echo "Waiting for test to conclude..."
sleep 5
kill -9 $zt_service_PID $tcp_server_pid $tcp_client_pid