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.
214 lines
5.7 KiB
214 lines
5.7 KiB
#!/bin/bash
|
|
# Copyright 2019 Huawei Technologies Co., Ltd
|
|
#
|
|
# 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.
|
|
# ============================================================================
|
|
|
|
# source the globals and functions for use with cache testing
|
|
export SKIP_ADMIN_COUNTER=false
|
|
declare failed_tests
|
|
. cachetest_lib.sh
|
|
echo
|
|
|
|
################################################################################
|
|
# Cache testing: cache_admin argument testing #
|
|
# Summary: Various tests that expect to get failure messages returned #
|
|
################################################################################
|
|
|
|
# Double-command test
|
|
cmd="${CACHE_ADMIN} --start --stop"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
|
|
# missing command test
|
|
cmd="${CACHE_ADMIN} --port 50082"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
|
|
# bad arg test
|
|
cmd="${CACHE_ADMIN} -p abc --start"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
|
|
# missing arg test
|
|
cmd="${CACHE_ADMIN} -p --start"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
|
|
# invalid command
|
|
cmd="${CACHE_ADMIN} -p 50082 --start --not_exist_cmd"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
|
|
# spill directory does not exist
|
|
cmd="${CACHE_ADMIN} --start --spilldir /path_that_does_not_exist"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
|
|
# start cache server twice
|
|
StartServer
|
|
HandleRcExit $? 1 1
|
|
# start the cache server again, however, this time we expect an error
|
|
cmd="${CACHE_ADMIN} --start"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 1
|
|
StopServer
|
|
HandleRcExit $? 1 1
|
|
|
|
# start cache server twice with different ports
|
|
# this one starts with the default port 50052
|
|
StartServer
|
|
HandleRcExit $? 1 1
|
|
# this one starts with port 50053
|
|
cmd="${CACHE_ADMIN} --start -p 50053"
|
|
CacheAdminCmd "${cmd}" 0
|
|
HandleRcExit $? 1 1
|
|
# stop the cache server with default port
|
|
StopServer
|
|
HandleRcExit $? 1 1
|
|
# stop the cache server with port 50053
|
|
cmd="${CACHE_ADMIN} --stop -p 50053"
|
|
CacheAdminCmd "${cmd}" 0
|
|
HandleRcExit $? 1 1
|
|
|
|
# stop the cache server without bringing it up
|
|
cmd="${CACHE_ADMIN} --stop"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 1
|
|
|
|
# start the cache server with illegal hostname
|
|
cmd="${CACHE_ADMIN} --start -h 0.0.0.0"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 1
|
|
cmd="${CACHE_ADMIN} --start -h illegal"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 1
|
|
cmd="${CACHE_ADMIN} --start -h"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 1
|
|
cmd="${CACHE_ADMIN} --start -h --hostname"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 1
|
|
cmd="${CACHE_ADMIN} --start -h --hostname 127.0.0.1"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 1
|
|
|
|
# start the cache server with illegal port
|
|
cmd="${CACHE_ADMIN} --start -p 0"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 1
|
|
cmd="${CACHE_ADMIN} --start -p -1"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 1
|
|
cmd="${CACHE_ADMIN} --start -p 65536"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 1
|
|
cmd="${CACHE_ADMIN} --start -p illegal"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 1
|
|
cmd="${CACHE_ADMIN} --start -p"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 1
|
|
|
|
# find a port that is occupied using netstat
|
|
if [ -x "$(command -v netstat)" ]; then
|
|
port=$(netstat -ntp | grep -v '::' | awk '{print $4}' | grep -E '^[[:digit:]]+' | awk -F: '{print $2}' | sort -n | tail -n 1)
|
|
if [ ${port} -gt 1025 ]; then
|
|
# start cache server with occupied port
|
|
cmd="${CACHE_ADMIN} --start -p ${port}"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 1
|
|
fi
|
|
fi
|
|
|
|
# generate session before starting the cache server
|
|
cmd="${CACHE_ADMIN} -g"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
|
|
# illegal generate session command
|
|
StartServer
|
|
HandleRcExit $? 1 1
|
|
cmd="${CACHE_ADMIN} -g 1"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
|
|
# illegal destroy session command
|
|
cmd="${CACHE_ADMIN} -d -2"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
cmd="${CACHE_ADMIN} -d illegal"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
cmd="${CACHE_ADMIN} -d"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
# destroy a non-existing session
|
|
cmd="${CACHE_ADMIN} -d 99999"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
|
|
# stop cache server at this point
|
|
StopServer
|
|
HandleRcExit $? 1 1
|
|
|
|
# illegal number of workers
|
|
cmd="${CACHE_ADMIN} --start -w 0"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
cmd="${CACHE_ADMIN} --start -w -1"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
cmd="${CACHE_ADMIN} --start -w illegal"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
num_cpu=$(grep -c processor /proc/cpuinfo)
|
|
if [ $num_cpu -lt 100 ]; then
|
|
cmd="${CACHE_ADMIN} --start -w 101"
|
|
else
|
|
cmd="${CACHE_ADMIN} --start -w $(($num_cpu+1))"
|
|
fi
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
cmd="${CACHE_ADMIN} --start -w 9999999"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
cmd="${CACHE_ADMIN} --start -w"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
|
|
# illegal spill path
|
|
cmd="${CACHE_ADMIN} --start -s"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
|
|
# spill path without writing perm
|
|
if [ "$EUID" -ne 0 ]; then
|
|
cmd="${CACHE_ADMIN} --start -s /"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
fi
|
|
|
|
# illegal log level
|
|
cmd="${CACHE_ADMIN} --start -l 4"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
cmd="${CACHE_ADMIN} --start -l -1"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
cmd="${CACHE_ADMIN} --start -l"
|
|
CacheAdminCmd "${cmd}" 1
|
|
HandleRcExit $? 0 0
|
|
|
|
exit ${failed_tests}
|