46 lines
1.1 KiB
Bash
Executable File
46 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# Run Robot Framework tests for vpp-containerlab.
|
|
# Arguments:
|
|
# $1 - container runtime: [docker, podman]
|
|
# $2 - test suite path (directory or .robot file)
|
|
#
|
|
# Environment variables:
|
|
# CLAB_BIN - path to containerlab binary (default: containerlab)
|
|
# IMAGE - docker image to use in topology (must be set)
|
|
|
|
set -e
|
|
|
|
if [ -z "${CLAB_BIN}" ]; then
|
|
CLAB_BIN=containerlab
|
|
fi
|
|
|
|
if [ -z "${IMAGE}" ]; then
|
|
echo "ERROR: IMAGE environment variable must be set" >&2
|
|
exit 1
|
|
fi
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
mkdir -p "${SCRIPT_DIR}/out"
|
|
|
|
source "${SCRIPT_DIR}/.venv/bin/activate"
|
|
|
|
function get_logname() {
|
|
path=$1
|
|
filename=$(basename "$path")
|
|
if [[ "$filename" == *.* ]]; then
|
|
dirname=$(dirname "$path")
|
|
basename=$(basename "$path" | cut -d. -f1)
|
|
echo "${dirname##*/}-${basename}"
|
|
else
|
|
echo "${filename}"
|
|
fi
|
|
}
|
|
|
|
robot --consolecolors on -r none \
|
|
--variable CLAB_BIN:"${CLAB_BIN}" \
|
|
--variable runtime:"$1" \
|
|
-l "${SCRIPT_DIR}/out/$(get_logname $2)-$1-log" \
|
|
--output "${SCRIPT_DIR}/out/$(get_logname $2)-$1-out.xml" \
|
|
"$2"
|