blob: 45f3a798ac6dd685096d09184d676b4a3df743c1 [file] [log] [blame]
#!/bin/sh
#
# Copyright (c) 2015-2017 Nest Labs, Inc.
# All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Set this value to 1 if you configured weave-bdx-common.cpp to use curl for downloading
# the requested URI when handling a ReceiveInit
use_curl_to_download_requested_file=0
if [ -z ${srcdir}]; then
srcdir=`pwd`
fi
if [ -z ${builddir}]; then
builddir="$srcdir"
fi
client_program="${builddir}/weave-bdx-client"
server_program="${builddir}/weave-bdx-server"
test_file_name="test-file-development.txt"
test_file="${srcdir}/${test_file_name}"
rcvd_dir="/tmp"
sent_file="${rcvd_dir}/${test_file_name}"
rcvd_file="${rcvd_dir}/${test_file_name}.2"
# Proactively remove the received files and set up the directory
mkdir -p /tmp
rm $sent_file 2> /dev/null
rm $rcvd_file 2> /dev/null
# Start up the server in the background, suppressing its output for readability
server_cmd="${server_program} 127.0.0.1"
echo $server_cmd
${server_cmd} & >/dev/null
sleep 1 # give server a chance to start
# send the file from the client
client_send_cmd="${client_program} 1@127.0.0.1 -o ${test_file_name} --upload"
echo $client_send_cmd
${client_send_cmd}
echo "Client finished running"
echo ""
# check if the file was sent correctly from client
diff $test_file $sent_file > /dev/null
result=${?}
if [ ${result} -eq 0 ]; then
echo "Client sent file successfully!"
else
echo "Client failed file send, error code=${result}"
# kill server
kill -9 $!
exit ${result}
fi
echo ""
sleep 1
# If the test was successful, run the client in the other direction and verify
if [ $use_curl_to_download_requested_file -eq 1 ]; then
client_recv_cmd="${client_program} 1@127.0.0.1 -o file://${sent_file}"
else
client_recv_cmd="${client_program} 1@127.0.0.1 -o ${sent_file}"
fi
echo $client_recv_cmd
${client_recv_cmd}
echo "Client finished running"
echo ""
# check if the file was sent correctly from client
diff $test_file $rcvd_file > /dev/null
result=${?}
if [ ${result} -eq 0 ]; then
echo "Client received file successfully!"
else
echo "Client failed file receive, error code=${result}"
fi
# kill server
kill -9 $!
exit ${result}