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.6 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  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. SKIP_ADMIN_COUNTER=false
  18. . cachetest_lib.sh
  19. echo
  20. ################################################################################
  21. # Cache testing: cache_admin argument testing #
  22. # Summary: Various tests that expect to get failure messages returned #
  23. ################################################################################
  24. # Double-command test
  25. cmd="${CACHE_ADMIN} --start --stop"
  26. CacheAdminCmd "${cmd}" 1
  27. HandleRcExit $? 0 0
  28. # missing command test
  29. cmd="${CACHE_ADMIN} --port 50082"
  30. CacheAdminCmd "${cmd}" 1
  31. HandleRcExit $? 0 0
  32. # bad arg test
  33. cmd="${CACHE_ADMIN} -p abc --start"
  34. CacheAdminCmd "${cmd}" 1
  35. HandleRcExit $? 0 0
  36. # missing arg test
  37. cmd="${CACHE_ADMIN} -p --start"
  38. CacheAdminCmd "${cmd}" 1
  39. HandleRcExit $? 0 0
  40. # invalid command
  41. cmd="${CACHE_ADMIN} -p 50082 --start --not_exist_cmd"
  42. CacheAdminCmd "${cmd}" 1
  43. HandleRcExit $? 0 0
  44. # spill directory does not exist
  45. cmd="${CACHE_ADMIN} --start --spilldir /path_that_does_not_exist"
  46. CacheAdminCmd "${cmd}" 1
  47. HandleRcExit $? 0 0
  48. # start cache server twice
  49. StartServer
  50. HandleRcExit $? 1 1
  51. # start the cache server again, however, this time we expect an error
  52. cmd="${CACHE_ADMIN} --start"
  53. CacheAdminCmd "${cmd}" 1
  54. HandleRcExit $? 0 1
  55. StopServer
  56. HandleRcExit $? 1 1
  57. # start cache server twice with different ports
  58. # this one starts with the default port 50052
  59. StartServer
  60. HandleRcExit $? 1 1
  61. # this one starts with port 50053
  62. cmd="${CACHE_ADMIN} --start -p 50053"
  63. CacheAdminCmd "${cmd}" 0
  64. HandleRcExit $? 1 1
  65. # stop the cache server with default port
  66. StopServer
  67. HandleRcExit $? 1 1
  68. # stop the cache server with port 50053
  69. cmd="${CACHE_ADMIN} --stop -p 50053"
  70. CacheAdminCmd "${cmd}" 0
  71. HandleRcExit $? 1 1
  72. # stop the cache server without bringing it up
  73. cmd="${CACHE_ADMIN} --stop"
  74. CacheAdminCmd "${cmd}" 1
  75. HandleRcExit $? 0 1
  76. # start the cache server with illegal hostname
  77. cmd="${CACHE_ADMIN} --start -h 0.0.0.0"
  78. CacheAdminCmd "${cmd}" 1
  79. HandleRcExit $? 0 1
  80. cmd="${CACHE_ADMIN} --start -h illegal"
  81. CacheAdminCmd "${cmd}" 1
  82. HandleRcExit $? 0 1
  83. cmd="${CACHE_ADMIN} --start -h"
  84. CacheAdminCmd "${cmd}" 1
  85. HandleRcExit $? 0 1
  86. cmd="${CACHE_ADMIN} --start -h --hostname"
  87. CacheAdminCmd "${cmd}" 1
  88. HandleRcExit $? 0 1
  89. cmd="${CACHE_ADMIN} --start -h --hostname 127.0.0.1"
  90. CacheAdminCmd "${cmd}" 1
  91. HandleRcExit $? 0 1
  92. # start the cache server with illegal port
  93. cmd="${CACHE_ADMIN} --start -p 0"
  94. CacheAdminCmd "${cmd}" 1
  95. HandleRcExit $? 0 1
  96. cmd="${CACHE_ADMIN} --start -p -1"
  97. CacheAdminCmd "${cmd}" 1
  98. HandleRcExit $? 0 1
  99. cmd="${CACHE_ADMIN} --start -p 65536"
  100. CacheAdminCmd "${cmd}" 1
  101. HandleRcExit $? 0 1
  102. cmd="${CACHE_ADMIN} --start -p illegal"
  103. CacheAdminCmd "${cmd}" 1
  104. HandleRcExit $? 0 1
  105. cmd="${CACHE_ADMIN} --start -p"
  106. CacheAdminCmd "${cmd}" 1
  107. HandleRcExit $? 0 1
  108. # find a port that is occupied using netstat
  109. if [ -x "$(command -v netstat)" ]; then
  110. port=$(netstat -ntp | grep -v '::' | awk '{print $4}' | grep -E '^[[:digit:]]+' | awk -F: '{print $2}' | sort -n | tail -n 1)
  111. if [ ${port} -gt 1025 ]; then
  112. # start cache server with occupied port
  113. cmd="${CACHE_ADMIN} --start -p ${port}"
  114. CacheAdminCmd "${cmd}" 1
  115. HandleRcExit $? 0 1
  116. fi
  117. fi
  118. # generate session before starting the cache server
  119. cmd="${CACHE_ADMIN} -g"
  120. CacheAdminCmd "${cmd}" 1
  121. HandleRcExit $? 0 0
  122. # illegal generate session command
  123. StartServer
  124. HandleRcExit $? 1 1
  125. cmd="${CACHE_ADMIN} -g 1"
  126. CacheAdminCmd "${cmd}" 1
  127. HandleRcExit $? 0 0
  128. # illegal destroy session command
  129. cmd="${CACHE_ADMIN} -d -2"
  130. CacheAdminCmd "${cmd}" 1
  131. HandleRcExit $? 0 0
  132. cmd="${CACHE_ADMIN} -d illegal"
  133. CacheAdminCmd "${cmd}" 1
  134. HandleRcExit $? 0 0
  135. cmd="${CACHE_ADMIN} -d"
  136. CacheAdminCmd "${cmd}" 1
  137. HandleRcExit $? 0 0
  138. # destroy a non-existing session
  139. cmd="${CACHE_ADMIN} -d 99999"
  140. CacheAdminCmd "${cmd}" 1
  141. HandleRcExit $? 0 0
  142. # stop cache server at this point
  143. StopServer
  144. HandleRcExit $? 1 1
  145. # illegal number of workers
  146. cmd="${CACHE_ADMIN} --start -w 0"
  147. CacheAdminCmd "${cmd}" 1
  148. HandleRcExit $? 0 0
  149. cmd="${CACHE_ADMIN} --start -w -1"
  150. CacheAdminCmd "${cmd}" 1
  151. HandleRcExit $? 0 0
  152. cmd="${CACHE_ADMIN} --start -w illegal"
  153. CacheAdminCmd "${cmd}" 1
  154. HandleRcExit $? 0 0
  155. cmd="${CACHE_ADMIN} --start -w 101"
  156. CacheAdminCmd "${cmd}" 1
  157. HandleRcExit $? 0 0
  158. cmd="${CACHE_ADMIN} --start -w 9999999"
  159. CacheAdminCmd "${cmd}" 1
  160. HandleRcExit $? 0 0
  161. cmd="${CACHE_ADMIN} --start -w"
  162. CacheAdminCmd "${cmd}" 1
  163. HandleRcExit $? 0 0
  164. # illegal spill path
  165. cmd="${CACHE_ADMIN} --start -s"
  166. CacheAdminCmd "${cmd}" 1
  167. HandleRcExit $? 0 0
  168. # spill path without writing perm
  169. if [ "$EUID" -ne 0 ]; then
  170. cmd="${CACHE_ADMIN} --start -s /"
  171. CacheAdminCmd "${cmd}" 1
  172. HandleRcExit $? 0 0
  173. fi
  174. # illegal log level
  175. cmd="${CACHE_ADMIN} --start -l 4"
  176. CacheAdminCmd "${cmd}" 1
  177. HandleRcExit $? 0 0
  178. cmd="${CACHE_ADMIN} --start -l -1"
  179. CacheAdminCmd "${cmd}" 1
  180. HandleRcExit $? 0 0
  181. cmd="${CACHE_ADMIN} --start -l"
  182. CacheAdminCmd "${cmd}" 1
  183. HandleRcExit $? 0 0
  184. exit ${failed_tests}