File: run_test_mode.sh

package info (click to toggle)
opentelemetry-cpp 1.23.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 11,372 kB
  • sloc: cpp: 96,239; sh: 1,766; makefile: 36; python: 31
file content (80 lines) | stat: -rwxr-xr-x 2,254 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/bash

# Copyright The OpenTelemetry Authors
# SPDX-License-Identifier: Apache-2.0

#
# This script can be invoked as follows:
#
# export SERVER_MODE="none" (default)
# No collector listening on endpoint.
#
# export SERVER_MODE="http"
# Http collector listening on endpoint.
#
# export SERVER_MODE="https"
# Https collector listening on endpoint.
#

set -e

[ -z "${BUILD_DIR}" ] && export BUILD_DIR=$HOME/build

[ -z "${SERVER_MODE}" ] && export SERVER_MODE="none"

[ -z "${TEST_EXECUTABLE}" ] && echo "Please specify TEST_EXECUTABLE name" && exit 1

[ -z "${TEST_URL}" ] && echo "Please specify TEST_URL endpoint (without scheme)" && exit 1

export CERT_DIR=../cert

export TEST_BIN_DIR="${BUILD_DIR}/functional/otlp/"

[ ! -f "${TEST_BIN_DIR}/${TEST_EXECUTABLE}" ] && echo "::notice::Executable ${TEST_EXECUTABLE} not built in this configuration" && exit 0

"${TEST_BIN_DIR}/${TEST_EXECUTABLE}" --list > test_list.txt

export TEST_FULL_NAME=""

#
# Connect with no security
#

export TEST_ENDPOINT="http://${TEST_URL}"
export TEST_RUN="insecure"

for T in `cat test_list.txt`
do
  echo "====================================================================="
  echo "Running test ${T} on ${TEST_RUN} ${TEST_ENDPOINT} with server ${SERVER_MODE}"
  TEST_FULL_NAME="${T}-${TEST_RUN}-${SERVER_MODE}"
  "${TEST_BIN_DIR}/${TEST_EXECUTABLE}" --debug --mode ${SERVER_MODE} --cert-dir ${CERT_DIR} --endpoint ${TEST_ENDPOINT} ${T}
  RC=$?
  if [ ${RC} -eq 0 ]; then
    echo "TEST ${TEST_FULL_NAME}: PASSED" | tee -a report.log
  else
    echo "TEST ${TEST_FULL_NAME}: FAILED" | tee -a report.log
  fi
done

#
# Connect with security
#

export TEST_ENDPOINT="https://${TEST_URL}"
export TEST_RUN="secure"

for T in `cat test_list.txt`
do
  echo "====================================================================="
  echo "Running test ${T} on ${TEST_RUN} ${TEST_ENDPOINT} with server ${SERVER_MODE}"
  TEST_FULL_NAME="${T}-${TEST_RUN}-${SERVER_MODE}"
  "${TEST_BIN_DIR}/${TEST_EXECUTABLE}" --debug --mode ${SERVER_MODE} --cert-dir ${CERT_DIR} --endpoint ${TEST_ENDPOINT} ${T}
  RC=$?
  if [ ${RC} -eq 0 ]; then
    echo "TEST ${TEST_FULL_NAME}: PASSED" | tee -a report.log
  else
    echo "TEST ${TEST_FULL_NAME}: FAILED" | tee -a report.log
  fi
done