You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

cachetest_args.sh 5.8 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. #!/bin/bash
  2. # Copyright 2019 Huawei Technologies Co., Ltd
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License");
  5. # you may not use this file except in compliance with the License.
  6. # You may obtain a copy of the License at
  7. #
  8. # http://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. # Unless required by applicable law or agreed to in writing, software
  11. # distributed under the License is distributed on an "AS IS" BASIS,
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. # ============================================================================
  16. # source the globals and functions for use with cache testing
  17. export SKIP_ADMIN_COUNTER=false
  18. declare failed_tests
  19. . cachetest_lib.sh
  20. echo
  21. ################################################################################
  22. # Cache testing: cache_admin argument testing #
  23. # Summary: Various tests that expect to get failure messages returned #
  24. ################################################################################
  25. # Double-command test
  26. cmd="${CACHE_ADMIN} --start --stop"
  27. CacheAdminCmd "${cmd}" 1
  28. HandleRcExit $? 0 0
  29. # missing command test
  30. cmd="${CACHE_ADMIN} --port 50082"
  31. CacheAdminCmd "${cmd}" 1
  32. HandleRcExit $? 0 0
  33. # bad arg test
  34. cmd="${CACHE_ADMIN} -p abc --start"
  35. CacheAdminCmd "${cmd}" 1
  36. HandleRcExit $? 0 0
  37. # missing arg test
  38. cmd="${CACHE_ADMIN} -p --start"
  39. CacheAdminCmd "${cmd}" 1
  40. HandleRcExit $? 0 0
  41. # invalid command
  42. cmd="${CACHE_ADMIN} -p 50082 --start --not_exist_cmd"
  43. CacheAdminCmd "${cmd}" 1
  44. HandleRcExit $? 0 0
  45. # spill directory does not exist
  46. cmd="${CACHE_ADMIN} --start --spilldir /path_that_does_not_exist"
  47. CacheAdminCmd "${cmd}" 1
  48. HandleRcExit $? 0 0
  49. # stop cache server first to test start
  50. StopServer
  51. # start cache server
  52. StartServer
  53. HandleRcExit $? 1 1
  54. # start the cache server again, however, this time we expect an error
  55. cmd="${CACHE_ADMIN} --start"
  56. CacheAdminCmd "${cmd}" 1
  57. HandleRcExit $? 0 1
  58. StopServer
  59. HandleRcExit $? 1 1
  60. # start cache server twice with different ports
  61. # this one starts with the default port 50052
  62. StartServer
  63. HandleRcExit $? 1 1
  64. # this one starts with port 50053
  65. cmd="${CACHE_ADMIN} --start -p 50053"
  66. CacheAdminCmd "${cmd}" 0
  67. HandleRcExit $? 1 1
  68. # stop the cache server with default port
  69. StopServer
  70. HandleRcExit $? 1 1
  71. # stop the cache server with port 50053
  72. cmd="${CACHE_ADMIN} --stop -p 50053"
  73. CacheAdminCmd "${cmd}" 0
  74. HandleRcExit $? 1 1
  75. # stop the cache server without bringing it up
  76. cmd="${CACHE_ADMIN} --stop"
  77. CacheAdminCmd "${cmd}" 1
  78. HandleRcExit $? 0 1
  79. # start the cache server with illegal hostname
  80. cmd="${CACHE_ADMIN} --start -h 0.0.0.0"
  81. CacheAdminCmd "${cmd}" 1
  82. HandleRcExit $? 0 1
  83. cmd="${CACHE_ADMIN} --start -h illegal"
  84. CacheAdminCmd "${cmd}" 1
  85. HandleRcExit $? 0 1
  86. cmd="${CACHE_ADMIN} --start -h"
  87. CacheAdminCmd "${cmd}" 1
  88. HandleRcExit $? 0 1
  89. cmd="${CACHE_ADMIN} --start -h --hostname"
  90. CacheAdminCmd "${cmd}" 1
  91. HandleRcExit $? 0 1
  92. cmd="${CACHE_ADMIN} --start -h --hostname 127.0.0.1"
  93. CacheAdminCmd "${cmd}" 1
  94. HandleRcExit $? 0 1
  95. # start the cache server with illegal port
  96. cmd="${CACHE_ADMIN} --start -p 0"
  97. CacheAdminCmd "${cmd}" 1
  98. HandleRcExit $? 0 1
  99. cmd="${CACHE_ADMIN} --start -p -1"
  100. CacheAdminCmd "${cmd}" 1
  101. HandleRcExit $? 0 1
  102. cmd="${CACHE_ADMIN} --start -p 65536"
  103. CacheAdminCmd "${cmd}" 1
  104. HandleRcExit $? 0 1
  105. cmd="${CACHE_ADMIN} --start -p illegal"
  106. CacheAdminCmd "${cmd}" 1
  107. HandleRcExit $? 0 1
  108. cmd="${CACHE_ADMIN} --start -p"
  109. CacheAdminCmd "${cmd}" 1
  110. HandleRcExit $? 0 1
  111. # find a port that is occupied using netstat
  112. if [ -x "$(command -v netstat)" ]; then
  113. port=$(netstat -ntp | grep -v '::' | awk '{print $4}' | grep -E '^[[:digit:]]+' | awk -F: '{print $2}' | sort -n | tail -n 1)
  114. if [ ${port} -gt 1025 ]; then
  115. # start cache server with occupied port
  116. cmd="${CACHE_ADMIN} --start -p ${port}"
  117. CacheAdminCmd "${cmd}" 1
  118. HandleRcExit $? 0 1
  119. fi
  120. fi
  121. # generate session before starting the cache server
  122. cmd="${CACHE_ADMIN} -g"
  123. CacheAdminCmd "${cmd}" 1
  124. HandleRcExit $? 0 0
  125. # illegal generate session command
  126. StartServer
  127. HandleRcExit $? 1 1
  128. cmd="${CACHE_ADMIN} -g 1"
  129. CacheAdminCmd "${cmd}" 1
  130. HandleRcExit $? 0 0
  131. # illegal destroy session command
  132. cmd="${CACHE_ADMIN} -d -2"
  133. CacheAdminCmd "${cmd}" 1
  134. HandleRcExit $? 0 0
  135. cmd="${CACHE_ADMIN} -d illegal"
  136. CacheAdminCmd "${cmd}" 1
  137. HandleRcExit $? 0 0
  138. cmd="${CACHE_ADMIN} -d"
  139. CacheAdminCmd "${cmd}" 1
  140. HandleRcExit $? 0 0
  141. # destroy a non-existing session
  142. cmd="${CACHE_ADMIN} -d 99999"
  143. CacheAdminCmd "${cmd}" 1
  144. HandleRcExit $? 0 0
  145. # stop cache server at this point
  146. StopServer
  147. HandleRcExit $? 1 1
  148. # illegal number of workers
  149. cmd="${CACHE_ADMIN} --start -w 0"
  150. CacheAdminCmd "${cmd}" 1
  151. HandleRcExit $? 0 0
  152. cmd="${CACHE_ADMIN} --start -w -1"
  153. CacheAdminCmd "${cmd}" 1
  154. HandleRcExit $? 0 0
  155. cmd="${CACHE_ADMIN} --start -w illegal"
  156. CacheAdminCmd "${cmd}" 1
  157. HandleRcExit $? 0 0
  158. num_cpu=$(grep -c processor /proc/cpuinfo)
  159. if [ $num_cpu -lt 100 ]; then
  160. cmd="${CACHE_ADMIN} --start -w 101"
  161. else
  162. cmd="${CACHE_ADMIN} --start -w $(($num_cpu+1))"
  163. fi
  164. CacheAdminCmd "${cmd}" 1
  165. HandleRcExit $? 0 0
  166. cmd="${CACHE_ADMIN} --start -w 9999999"
  167. CacheAdminCmd "${cmd}" 1
  168. HandleRcExit $? 0 0
  169. cmd="${CACHE_ADMIN} --start -w"
  170. CacheAdminCmd "${cmd}" 1
  171. HandleRcExit $? 0 0
  172. # illegal spill path
  173. cmd="${CACHE_ADMIN} --start -s"
  174. CacheAdminCmd "${cmd}" 1
  175. HandleRcExit $? 0 0
  176. # spill path without writing perm
  177. if [ "$EUID" -ne 0 ]; then
  178. cmd="${CACHE_ADMIN} --start -s /"
  179. CacheAdminCmd "${cmd}" 1
  180. HandleRcExit $? 0 0
  181. fi
  182. # illegal log level
  183. cmd="${CACHE_ADMIN} --start -l 5"
  184. CacheAdminCmd "${cmd}" 1
  185. HandleRcExit $? 0 0
  186. cmd="${CACHE_ADMIN} --start -l -1"
  187. CacheAdminCmd "${cmd}" 1
  188. HandleRcExit $? 0 0
  189. cmd="${CACHE_ADMIN} --start -l"
  190. CacheAdminCmd "${cmd}" 1
  191. HandleRcExit $? 0 0
  192. exit ${failed_tests}