ZeroTierOne/ext/opentelemetry-cpp-1.21.0/functional/otlp/run_test_mode.sh
2025-07-11 10:37:21 -07:00

80 lines
2.2 KiB
Bash
Executable file

#!/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