mirror of
				https://github.com/ossrs/srs.git
				synced 2025-03-09 15:49:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			176 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			176 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/sh
 | 
						|
# 
 | 
						|
# usage: rtpw_test <rtpw_commands>
 | 
						|
# 
 | 
						|
# tests the rtpw sender and receiver functions
 | 
						|
#
 | 
						|
# Copyright (c) 2001-2017, Cisco Systems, Inc.
 | 
						|
# All rights reserved.
 | 
						|
# 
 | 
						|
# Redistribution and use in source and binary forms, with or without
 | 
						|
# modification, are permitted provided that the following conditions
 | 
						|
# are met:
 | 
						|
# 
 | 
						|
#   Redistributions of source code must retain the above copyright
 | 
						|
#   notice, this list of conditions and the following disclaimer.
 | 
						|
# 
 | 
						|
#   Redistributions in binary form must reproduce the above
 | 
						|
#   copyright notice, this list of conditions and the following
 | 
						|
#   disclaimer in the documentation and/or other materials provided
 | 
						|
#   with the distribution.
 | 
						|
# 
 | 
						|
#   Neither the name of the Cisco Systems, Inc. nor the names of its
 | 
						|
#   contributors may be used to endorse or promote products derived
 | 
						|
#   from this software without specific prior written permission.
 | 
						|
# 
 | 
						|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 | 
						|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 | 
						|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 | 
						|
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 | 
						|
# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 | 
						|
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 | 
						|
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 | 
						|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 | 
						|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 | 
						|
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 | 
						|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 | 
						|
# OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
						|
#
 | 
						|
 | 
						|
case $(uname -s) in
 | 
						|
    *CYGWIN*|*MINGW*)
 | 
						|
        EXE=".exe"
 | 
						|
        ;;
 | 
						|
    *Linux*)
 | 
						|
        EXE=""
 | 
						|
        export LD_LIBRARY_PATH=$CRYPTO_LIBDIR
 | 
						|
        ;;
 | 
						|
    *Darwin*)
 | 
						|
        EXE=""
 | 
						|
        export DYLD_LIBRARY_PATH=$CRYPTO_LIBDIR
 | 
						|
        ;;
 | 
						|
esac
 | 
						|
 | 
						|
RTPW=./rtpw$EXE
 | 
						|
DEST_PORT=9999
 | 
						|
DURATION=3
 | 
						|
 | 
						|
key=Ky7cUDT2GnI0XKWYbXv9AYmqbcLsqzL9mvdN9t/G
 | 
						|
 | 
						|
ARGS="-b $key -a -e 128"
 | 
						|
 | 
						|
# First, we run "killall" to get rid of all existing rtpw processes.
 | 
						|
# This step also enables this script to clean up after itself; if this
 | 
						|
# script is interrupted after the rtpw processes are started but before
 | 
						|
# they are killed, those processes will linger.  Re-running the script
 | 
						|
# will get rid of them.
 | 
						|
 | 
						|
killall rtpw 2>/dev/null
 | 
						|
 | 
						|
if test -x $RTPW; then
 | 
						|
 | 
						|
echo  $0 ": starting rtpw receiver process... "
 | 
						|
 | 
						|
$RTPW $* $ARGS -r 0.0.0.0 $DEST_PORT  &
 | 
						|
 | 
						|
receiver_pid=$!
 | 
						|
 | 
						|
echo $0 ": receiver PID = $receiver_pid"
 | 
						|
 | 
						|
sleep 1 
 | 
						|
 | 
						|
# verify that the background job is running
 | 
						|
ps -e | grep -q $receiver_pid
 | 
						|
retval=$?
 | 
						|
echo $retval
 | 
						|
if [ $retval != 0 ]; then
 | 
						|
    echo $0 ": error"
 | 
						|
    exit 254
 | 
						|
fi
 | 
						|
 | 
						|
echo  $0 ": starting rtpw sender process..."
 | 
						|
 | 
						|
$RTPW $* $ARGS -s 127.0.0.1 $DEST_PORT  &
 | 
						|
 | 
						|
sender_pid=$!
 | 
						|
 | 
						|
echo $0 ": sender PID = $sender_pid"
 | 
						|
 | 
						|
# verify that the background job is running
 | 
						|
ps -e | grep -q $sender_pid
 | 
						|
retval=$?
 | 
						|
echo $retval
 | 
						|
if [ $retval != 0 ]; then
 | 
						|
    echo $0 ": error"
 | 
						|
    exit 255
 | 
						|
fi
 | 
						|
 | 
						|
sleep $DURATION
 | 
						|
 | 
						|
kill $receiver_pid
 | 
						|
kill $sender_pid
 | 
						|
 | 
						|
wait $receiver_pid 2>/dev/null
 | 
						|
wait $sender_pid 2>/dev/null
 | 
						|
 | 
						|
 | 
						|
key=033490ba9e82994fc21013395739038992b2edc5034f61a72345ca598d7bfd0189aa6dc2ecab32fd9af74df6dfc6
 | 
						|
 | 
						|
ARGS="-k $key -a -e 256"
 | 
						|
 | 
						|
echo  $0 ": starting rtpw receiver process... "
 | 
						|
 | 
						|
$RTPW $* $ARGS -r 0.0.0.0 $DEST_PORT  &
 | 
						|
 | 
						|
receiver_pid=$!
 | 
						|
 | 
						|
echo $0 ": receiver PID = $receiver_pid"
 | 
						|
 | 
						|
sleep 1 
 | 
						|
 | 
						|
# verify that the background job is running
 | 
						|
ps -e | grep -q $receiver_pid
 | 
						|
retval=$?
 | 
						|
echo $retval
 | 
						|
if [ $retval != 0 ]; then
 | 
						|
    echo $0 ": error"
 | 
						|
    exit 254
 | 
						|
fi
 | 
						|
 | 
						|
echo  $0 ": starting rtpw sender process..."
 | 
						|
 | 
						|
$RTPW $* $ARGS -s 127.0.0.1 $DEST_PORT  &
 | 
						|
 | 
						|
sender_pid=$!
 | 
						|
 | 
						|
echo $0 ": sender PID = $sender_pid"
 | 
						|
 | 
						|
# verify that the background job is running
 | 
						|
ps -e | grep -q $sender_pid
 | 
						|
retval=$?
 | 
						|
echo $retval
 | 
						|
if [ $retval != 0 ]; then
 | 
						|
    echo $0 ": error"
 | 
						|
    exit 255
 | 
						|
fi
 | 
						|
 | 
						|
sleep $DURATION
 | 
						|
 | 
						|
kill $receiver_pid
 | 
						|
kill $sender_pid
 | 
						|
 | 
						|
wait $receiver_pid 2>/dev/null
 | 
						|
wait $sender_pid 2>/dev/null
 | 
						|
 | 
						|
echo $0 ": done (test passed)"
 | 
						|
 | 
						|
else 
 | 
						|
 | 
						|
echo "error: can't find executable" $RTPW
 | 
						|
exit 1
 | 
						|
 | 
						|
fi
 | 
						|
 | 
						|
# EOF
 | 
						|
 | 
						|
 |