You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
2.9 KiB
113 lines
2.9 KiB
2 years ago
|
#! /bin/bash
|
||
|
#
|
||
|
# Copyright by The HDF Group.
|
||
|
# All rights reserved.
|
||
|
#
|
||
|
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||
|
# terms governing use, modification, and redistribution, is contained in
|
||
|
# the COPYING file, which can be found at the root of the source code
|
||
|
# distribution tree, or in https://www.hdfgroup.org/licenses.
|
||
|
# If you do not have access to either file, you may request a copy from
|
||
|
# help@hdfgroup.org.
|
||
|
#
|
||
|
# Tests for the Mirror VFD feature.
|
||
|
#
|
||
|
# Created:
|
||
|
# Jacob Smith, 2019-12-30
|
||
|
|
||
|
###############################################################################
|
||
|
## test parameters
|
||
|
###############################################################################
|
||
|
|
||
|
nerrors=0
|
||
|
|
||
|
SERVER_VERBOSITY="--verbosity=1"
|
||
|
# Choose random ephemeral port number
|
||
|
RANDOM_PORT=$[ $RANDOM % 16384 + 49152 ]
|
||
|
echo "Using port: $RANDOM_PORT"
|
||
|
SERVER_PORT="--port=$RANDOM_PORT"
|
||
|
|
||
|
|
||
|
###############################################################################
|
||
|
## Main
|
||
|
###############################################################################
|
||
|
|
||
|
## TODO: arguments for main port, port range, verbosity?
|
||
|
# Parse options (none accepted at this time)
|
||
|
while [ $# -gt 0 ]; do
|
||
|
case "$1" in
|
||
|
*) # unknown option
|
||
|
echo "$0: Unknown option ($1)"
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
|
||
|
|
||
|
RUN_DIR=mirror_vfd_test
|
||
|
MIRROR_UTILS=../utils/mirror_vfd # TODO: presupposes from test/
|
||
|
|
||
|
if [[ ! -d $RUN_DIR ]] ; then
|
||
|
mkdir $RUN_DIR
|
||
|
fi
|
||
|
|
||
|
# Copy program files into dedicated test directory
|
||
|
for FILE in $MIRROR_UTILS/mirror_* ; do
|
||
|
case "$FILE" in
|
||
|
*.o) continue ;; # Don't copy .o files
|
||
|
esac
|
||
|
cp $FILE $RUN_DIR
|
||
|
done
|
||
|
cp mirror_vfd $RUN_DIR
|
||
|
|
||
|
# With the --disable-shared option, program files are built in their main
|
||
|
# directories; otherwise they are built in dir/.libs with a corresponding
|
||
|
# wrapper script. Copy these libs builds if appropriate.
|
||
|
if [ -f $MIRROR_UTILS/.libs/mirror_server ] ; then
|
||
|
RUN_LIBS=$RUN_DIR/.libs
|
||
|
# Delete previous .libs directory, to remove any generated libtool files
|
||
|
if [[ -d $RUN_LIBS ]] ; then
|
||
|
rm -rf $RUN_LIBS
|
||
|
fi
|
||
|
mkdir $RUN_LIBS
|
||
|
for FILE in $MIRROR_UTILS/.libs/mirror_* ; do
|
||
|
case "$FILE" in
|
||
|
*.o) continue ;; # Don't copy .o files
|
||
|
esac
|
||
|
cp $FILE $RUN_LIBS
|
||
|
done
|
||
|
cp .libs/mirror_vfd $RUN_LIBS
|
||
|
fi
|
||
|
|
||
|
cd $RUN_DIR
|
||
|
|
||
|
echo "Launching Mirror Server"
|
||
|
SERVER_ARGS="$SERVER_PORT $SERVER_VERBOSITY"
|
||
|
./mirror_server $SERVER_ARGS &
|
||
|
|
||
|
./mirror_vfd $SERVER_PORT
|
||
|
nerrors=$?
|
||
|
|
||
|
echo "Stopping Mirror Server"
|
||
|
./mirror_server_stop $SERVER_PORT
|
||
|
|
||
|
# Wait for background server process to exit
|
||
|
wait
|
||
|
|
||
|
###############################################################################
|
||
|
## Report and exit
|
||
|
###############################################################################
|
||
|
cd ..
|
||
|
if test $nerrors -eq 0 ; then
|
||
|
echo "Mirror VFD tests passed."
|
||
|
if test -z "$HDF5_NOCLEANUP" ; then
|
||
|
rm -rf $RUN_DIR
|
||
|
fi
|
||
|
exit 0
|
||
|
else
|
||
|
echo "Mirror VFD tests FAILED."
|
||
|
exit 1
|
||
|
fi
|
||
|
|