52 lines
1.5 KiB
Bash
52 lines
1.5 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
echo "\n\n\n\nStarting server(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
|
||
|
|
TEST_PATH=$(pwd)/build/tests
|
||
|
|
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
|
||
|
|
echo $random_tcp_server_port > $TEST_EXECUTABLE_PATH/tcp_server.port
|
||
|
|
./$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..."
|
||
|
|
echo $random_tcp_server_port
|
||
|
|
# ,$random_udp_server_port
|
||
|
|
sleep 10
|
||
|
|
echo "Cleaning up"
|
||
|
|
kill -9 $zt_service_PID $tcp_server_pid $tcp_client_pid
|