Update relevant robot scripts in DMI CSITs 30/137030/4
authoremaclee <lee.anjella.macabuhay@est.tech>
Thu, 18 Jan 2024 12:44:58 +0000 (12:44 +0000)
committerLee Anjella Macabuhay <lee.anjella.macabuhay@est.tech>
Mon, 22 Jan 2024 11:06:56 +0000 (11:06 +0000)
Issue-ID: CPS-2032
Change-Id: I9f7f1e9078612434d07efeb9dadeb65d2f5acc48
Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech>
csit/install-robotframework.sh
csit/prepare-csit.sh
csit/run-csit.sh

index dada622..2c4f432 100755 (executable)
@@ -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
index 59240a9..66f0f02 100755 (executable)
@@ -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 || :
index b5d7e0d..4a61850 100755 (executable)
 #
 # 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"