2
0

run_test_mode.sh 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #!/bin/bash
  2. # Copyright The OpenTelemetry Authors
  3. # SPDX-License-Identifier: Apache-2.0
  4. #
  5. # This script can be invoked as follows:
  6. #
  7. # export SERVER_MODE="none" (default)
  8. # No collector listening on endpoint.
  9. #
  10. # export SERVER_MODE="http"
  11. # Http collector listening on endpoint.
  12. #
  13. # export SERVER_MODE="https"
  14. # Https collector listening on endpoint.
  15. #
  16. set -e
  17. [ -z "${BUILD_DIR}" ] && export BUILD_DIR=$HOME/build
  18. [ -z "${SERVER_MODE}" ] && export SERVER_MODE="none"
  19. [ -z "${TEST_EXECUTABLE}" ] && echo "Please specify TEST_EXECUTABLE name" && exit 1
  20. [ -z "${TEST_URL}" ] && echo "Please specify TEST_URL endpoint (without scheme)" && exit 1
  21. export CERT_DIR=../cert
  22. export TEST_BIN_DIR="${BUILD_DIR}/functional/otlp/"
  23. [ ! -f "${TEST_BIN_DIR}/${TEST_EXECUTABLE}" ] && echo "::notice::Executable ${TEST_EXECUTABLE} not built in this configuration" && exit 0
  24. "${TEST_BIN_DIR}/${TEST_EXECUTABLE}" --list > test_list.txt
  25. export TEST_FULL_NAME=""
  26. #
  27. # Connect with no security
  28. #
  29. export TEST_ENDPOINT="http://${TEST_URL}"
  30. export TEST_RUN="insecure"
  31. for T in `cat test_list.txt`
  32. do
  33. echo "====================================================================="
  34. echo "Running test ${T} on ${TEST_RUN} ${TEST_ENDPOINT} with server ${SERVER_MODE}"
  35. TEST_FULL_NAME="${T}-${TEST_RUN}-${SERVER_MODE}"
  36. "${TEST_BIN_DIR}/${TEST_EXECUTABLE}" --debug --mode ${SERVER_MODE} --cert-dir ${CERT_DIR} --endpoint ${TEST_ENDPOINT} ${T}
  37. RC=$?
  38. if [ ${RC} -eq 0 ]; then
  39. echo "TEST ${TEST_FULL_NAME}: PASSED" | tee -a report.log
  40. else
  41. echo "TEST ${TEST_FULL_NAME}: FAILED" | tee -a report.log
  42. fi
  43. done
  44. #
  45. # Connect with security
  46. #
  47. export TEST_ENDPOINT="https://${TEST_URL}"
  48. export TEST_RUN="secure"
  49. for T in `cat test_list.txt`
  50. do
  51. echo "====================================================================="
  52. echo "Running test ${T} on ${TEST_RUN} ${TEST_ENDPOINT} with server ${SERVER_MODE}"
  53. TEST_FULL_NAME="${T}-${TEST_RUN}-${SERVER_MODE}"
  54. "${TEST_BIN_DIR}/${TEST_EXECUTABLE}" --debug --mode ${SERVER_MODE} --cert-dir ${CERT_DIR} --endpoint ${TEST_ENDPOINT} ${T}
  55. RC=$?
  56. if [ ${RC} -eq 0 ]; then
  57. echo "TEST ${TEST_FULL_NAME}: PASSED" | tee -a report.log
  58. else
  59. echo "TEST ${TEST_FULL_NAME}: FAILED" | tee -a report.log
  60. fi
  61. done