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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  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. # start cache server twice
  50. StartServer
  51. HandleRcExit $? 1 1
  52. # start the cache server again, however, this time we expect an error
  53. cmd="${CACHE_ADMIN} --start"
  54. CacheAdminCmd "${cmd}" 1
  55. HandleRcExit $? 0 1
  56. StopServer
  57. HandleRcExit $? 1 1
  58. # start cache server twice with different ports
  59. # this one starts with the default port 50052
  60. StartServer
  61. HandleRcExit $? 1 1
  62. # this one starts with port 50053
  63. cmd="${CACHE_ADMIN} --start -p 50053"
  64. CacheAdminCmd "${cmd}" 0
  65. HandleRcExit $? 1 1
  66. # stop the cache server with default port
  67. StopServer
  68. HandleRcExit $? 1 1
  69. # stop the cache server with port 50053
  70. cmd="${CACHE_ADMIN} --stop -p 50053"
  71. CacheAdminCmd "${cmd}" 0
  72. HandleRcExit $? 1 1
  73. # stop the cache server without bringing it up
  74. cmd="${CACHE_ADMIN} --stop"
  75. CacheAdminCmd "${cmd}" 1
  76. HandleRcExit $? 0 1
  77. # start the cache server with illegal hostname
  78. cmd="${CACHE_ADMIN} --start -h 0.0.0.0"
  79. CacheAdminCmd "${cmd}" 1
  80. HandleRcExit $? 0 1
  81. cmd="${CACHE_ADMIN} --start -h illegal"
  82. CacheAdminCmd "${cmd}" 1
  83. HandleRcExit $? 0 1
  84. cmd="${CACHE_ADMIN} --start -h"
  85. CacheAdminCmd "${cmd}" 1
  86. HandleRcExit $? 0 1
  87. cmd="${CACHE_ADMIN} --start -h --hostname"
  88. CacheAdminCmd "${cmd}" 1
  89. HandleRcExit $? 0 1
  90. cmd="${CACHE_ADMIN} --start -h --hostname 127.0.0.1"
  91. CacheAdminCmd "${cmd}" 1
  92. HandleRcExit $? 0 1
  93. # start the cache server with illegal port
  94. cmd="${CACHE_ADMIN} --start -p 0"
  95. CacheAdminCmd "${cmd}" 1
  96. HandleRcExit $? 0 1
  97. cmd="${CACHE_ADMIN} --start -p -1"
  98. CacheAdminCmd "${cmd}" 1
  99. HandleRcExit $? 0 1
  100. cmd="${CACHE_ADMIN} --start -p 65536"
  101. CacheAdminCmd "${cmd}" 1
  102. HandleRcExit $? 0 1
  103. cmd="${CACHE_ADMIN} --start -p illegal"
  104. CacheAdminCmd "${cmd}" 1
  105. HandleRcExit $? 0 1
  106. cmd="${CACHE_ADMIN} --start -p"
  107. CacheAdminCmd "${cmd}" 1
  108. HandleRcExit $? 0 1
  109. # find a port that is occupied using netstat
  110. if [ -x "$(command -v netstat)" ]; then
  111. port=$(netstat -ntp | grep -v '::' | awk '{print $4}' | grep -E '^[[:digit:]]+' | awk -F: '{print $2}' | sort -n | tail -n 1)
  112. if [ ${port} -gt 1025 ]; then
  113. # start cache server with occupied port
  114. cmd="${CACHE_ADMIN} --start -p ${port}"
  115. CacheAdminCmd "${cmd}" 1
  116. HandleRcExit $? 0 1
  117. fi
  118. fi
  119. # generate session before starting the cache server
  120. cmd="${CACHE_ADMIN} -g"
  121. CacheAdminCmd "${cmd}" 1
  122. HandleRcExit $? 0 0
  123. # illegal generate session command
  124. StartServer
  125. HandleRcExit $? 1 1
  126. cmd="${CACHE_ADMIN} -g 1"
  127. CacheAdminCmd "${cmd}" 1
  128. HandleRcExit $? 0 0
  129. # illegal destroy session command
  130. cmd="${CACHE_ADMIN} -d -2"
  131. CacheAdminCmd "${cmd}" 1
  132. HandleRcExit $? 0 0
  133. cmd="${CACHE_ADMIN} -d illegal"
  134. CacheAdminCmd "${cmd}" 1
  135. HandleRcExit $? 0 0
  136. cmd="${CACHE_ADMIN} -d"
  137. CacheAdminCmd "${cmd}" 1
  138. HandleRcExit $? 0 0
  139. # destroy a non-existing session
  140. cmd="${CACHE_ADMIN} -d 99999"
  141. CacheAdminCmd "${cmd}" 1
  142. HandleRcExit $? 0 0
  143. # stop cache server at this point
  144. StopServer
  145. HandleRcExit $? 1 1
  146. # illegal number of workers
  147. cmd="${CACHE_ADMIN} --start -w 0"
  148. CacheAdminCmd "${cmd}" 1
  149. HandleRcExit $? 0 0
  150. cmd="${CACHE_ADMIN} --start -w -1"
  151. CacheAdminCmd "${cmd}" 1
  152. HandleRcExit $? 0 0
  153. cmd="${CACHE_ADMIN} --start -w illegal"
  154. CacheAdminCmd "${cmd}" 1
  155. HandleRcExit $? 0 0
  156. num_cpu=$(grep -c processor /proc/cpuinfo)
  157. if [ $num_cpu -lt 100 ]; then
  158. cmd="${CACHE_ADMIN} --start -w 101"
  159. else
  160. cmd="${CACHE_ADMIN} --start -w $(($num_cpu+1))"
  161. fi
  162. CacheAdminCmd "${cmd}" 1
  163. HandleRcExit $? 0 0
  164. cmd="${CACHE_ADMIN} --start -w 9999999"
  165. CacheAdminCmd "${cmd}" 1
  166. HandleRcExit $? 0 0
  167. cmd="${CACHE_ADMIN} --start -w"
  168. CacheAdminCmd "${cmd}" 1
  169. HandleRcExit $? 0 0
  170. # illegal spill path
  171. cmd="${CACHE_ADMIN} --start -s"
  172. CacheAdminCmd "${cmd}" 1
  173. HandleRcExit $? 0 0
  174. # spill path without writing perm
  175. if [ "$EUID" -ne 0 ]; then
  176. cmd="${CACHE_ADMIN} --start -s /"
  177. CacheAdminCmd "${cmd}" 1
  178. HandleRcExit $? 0 0
  179. fi
  180. # illegal log level
  181. cmd="${CACHE_ADMIN} --start -l 4"
  182. CacheAdminCmd "${cmd}" 1
  183. HandleRcExit $? 0 0
  184. cmd="${CACHE_ADMIN} --start -l -1"
  185. CacheAdminCmd "${cmd}" 1
  186. HandleRcExit $? 0 0
  187. cmd="${CACHE_ADMIN} --start -l"
  188. CacheAdminCmd "${cmd}" 1
  189. HandleRcExit $? 0 0
  190. exit ${failed_tests}