summaryrefslogtreecommitdiffstats
path: root/csit
diff options
context:
space:
mode:
Diffstat (limited to 'csit')
-rwxr-xr-xcsit/install-robotframework.sh12
-rwxr-xr-xcsit/prepare-csit.sh39
-rwxr-xr-xcsit/run-csit.sh52
3 files changed, 74 insertions, 29 deletions
diff --git a/csit/install-robotframework.sh b/csit/install-robotframework.sh
index dada6221..2c4f4320 100755
--- a/csit/install-robotframework.sh
+++ b/csit/install-robotframework.sh
@@ -1,12 +1,12 @@
-ROBOT_VENV=$(mktemp -d --suffix=robot_venv)
-echo "ROBOT_VENV=${ROBOT_VENV}" >> "${WORKSPACE}/env.properties"
+set -exu
-echo "Python version is: $(python3 --version)"
+ROBOT3_VENV=$(mktemp -d --suffix=robot_venv)
+echo "ROBOT3_VENV=${ROBOT3_VENV}" >> "${WORKSPACE}/env.properties"
-python3 -m venv "${ROBOT_VENV}"
-source "${ROBOT_VENV}/bin/activate"
+echo "Python version is: $(python3 --version)"
-set -exu
+python3 -m venv "${ROBOT3_VENV}"
+source "${ROBOT3_VENV}/bin/activate"
# Make sure pip3 itself us up-to-date.
python3 -m pip install --upgrade pip
diff --git a/csit/prepare-csit.sh b/csit/prepare-csit.sh
index 59240a98..66f0f02f 100755
--- a/csit/prepare-csit.sh
+++ b/csit/prepare-csit.sh
@@ -1,6 +1,6 @@
#!/bin/bash -x
#
-# Copyright (C) 2022 Nordix Foundation.
+# Copyright (C) 2022-2024 Nordix Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -19,6 +19,7 @@
#
# Branched from ccsdk/distribution to this repository Feb 23, 2021
#
+echo "---> prepare-csit.sh"
if [ -z "$WORKSPACE" ]; then
export WORKSPACE=`git rev-parse --show-toplevel`
@@ -26,26 +27,46 @@ fi
TESTPLANDIR=${WORKSPACE}/${TESTPLAN}
-# Assume that if ROBOT_VENV is set and virtualenv with system site packages can be activated,
+# Version should match those used to setup robot-framework in other jobs/stages
+# Use pyenv for selecting the python version
+if [[ -d "/opt/pyenv" ]]; then
+ echo "Setup pyenv:"
+ export PYENV_ROOT="/opt/pyenv"
+ export PATH="$PYENV_ROOT/bin:$PATH"
+ pyenv versions
+ if command -v pyenv 1>/dev/null 2>&1; then
+ eval "$(pyenv init - --no-rehash)"
+ # Choose the latest numeric Python version from installed list
+ version=$(pyenv versions --bare | sed '/^[^0-9]/d' | sort -V | tail -n 1)
+ pyenv local "${version}"
+ fi
+fi
+
+# Assume that if ROBOT3_VENV is set and virtualenv with system site packages can be activated,
# ci-management/jjb/integration/include-raw-integration-install-robotframework.sh has already
# been executed
if [ -f ${WORKSPACE}/env.properties ]; then
source ${WORKSPACE}/env.properties
fi
-#if [ -f ${ROBOT_VENV}/bin/activate ]; then
-# source ${ROBOT_VENV}/bin/activate
-#else
+if [ -f ${ROBOT3_VENV}/bin/activate ]; then
+ source ${ROBOT3_VENV}/bin/activate
+else
rm -rf /tmp/ci-management
rm -f ${WORKSPACE}/env.properties
cd /tmp
+ git clone "https://gerrit.onap.org/r/ci-management"
source ${WORKSPACE}/install-robotframework.sh
-#fi
+fi
# install eteutils
-mkdir -p ${ROBOT_VENV}/src/onap
-rm -rf ${ROBOT_VENV}/src/onap/testsuite
-python3 -m pip install --upgrade --extra-index-url="https://nexus3.onap.org/repository/PyPi.staging/simple" 'robotframework-onap==0.5.1.*' --pre
+mkdir -p ${ROBOT3_VENV}/src/onap
+rm -rf ${ROBOT3_VENV}/src/onap/testsuite
+
+python3 -m pip install --upgrade --extra-index-url="https://nexus3.onap.org/repository/PyPi.staging/simple" 'robotframework-onap==11.0.0.dev17' --pre
+echo "Versioning information:"
+python3 --version
pip freeze
+python3 -m robot.run --version || :
diff --git a/csit/run-csit.sh b/csit/run-csit.sh
index b5d7e0dd..4a618505 100755
--- a/csit/run-csit.sh
+++ b/csit/run-csit.sh
@@ -20,10 +20,39 @@
#
# Branched from ccsdk/distribution to this repository Feb 23, 2021
+echo "---> run-csit.sh"
+
+WORKDIR=$(mktemp -d --suffix=-robot-workdir)
+
+# Version should match those used to setup robot-framework in other jobs/stages
+# Use pyenv for selecting the python version
+if [[ -d "/opt/pyenv" ]]; then
+ echo "Setup pyenv:"
+ export PYENV_ROOT="/opt/pyenv"
+ export PATH="$PYENV_ROOT/bin:$PATH"
+ pyenv versions
+ if command -v pyenv 1>/dev/null 2>&1; then
+ eval "$(pyenv init - --no-rehash)"
+ # Choose the latest numeric Python version from installed list
+ version=$(pyenv versions --bare | sed '/^[^0-9]/d' | sort -V | tail -n 1)
+ pyenv local "${version}"
+ fi
+fi
+
#
# functions
#
+# wrapper for sourcing a file
+function source_safely() {
+ [ -z "$1" ] && return 1
+ relax_set
+ . "$1"
+ load_set
+}
+# Activate the virtualenv containing all the required libraries installed by prepare-csit.sh
+source_safely "${ROBOT3_VENV}/bin/activate"
+
function on_exit(){
rc=$?
if [[ ${WORKSPACE} ]]; then
@@ -107,14 +136,6 @@ function relax_set() {
set +o pipefail
}
-# wrapper for sourcing a file
-function source_safely() {
- [ -z "$1" ] && return 1
- relax_set
- . "$1"
- load_set
-}
-
#
# main
#
@@ -154,14 +175,11 @@ TESTPLANDIR="${WORKSPACE}/${TESTPLAN}"
# Run installation of prerequired libraries
source_safely "${WORKSPACE}/prepare-csit.sh"
-# Activate the virtualenv containing all the required libraries installed by prepare-csit.sh
-source_safely "${ROBOT_VENV}/bin/activate"
-
-WORKDIR=$(mktemp -d --suffix=-robot-workdir)
+# Use robot framework working directory
cd "${WORKDIR}"
# Add csit scripts to PATH
-export PATH="${PATH}:${WORKSPACE}/docker/scripts:${WORKSPACE}/scripts:${ROBOT_VENV}/bin"
+export PATH="${PATH}:${WORKSPACE}/docker/scripts:${WORKSPACE}/scripts:${ROBOT3_VENV}/bin"
export SCRIPTS="${WORKSPACE}/scripts"
export ROBOT_VARIABLES=
@@ -189,7 +207,13 @@ SUITES=$( xargs -a testplan.txt )
echo ROBOT_VARIABLES="${ROBOT_VARIABLES}"
echo "Starting Robot test suites ${SUITES} ..."
relax_set
-python3 -m robot.run -N ${TESTPLAN} -v WORKSPACE:/tmp ${ROBOT_VARIABLES} ${TESTOPTIONS} ${SUITES}
+
+echo "Versioning information:"
+python3 --version
+pip freeze
+python3 -m robot.run --version || :
+
+python3 -m robot.run -N ${TESTPLAN} -v WORKSPACE:/tmp --legacy-output ${ROBOT_VARIABLES} ${TESTOPTIONS} ${SUITES}
RESULT=$?
load_set
echo "RESULT: $RESULT"