-#!/bin/sh -l
+#!/bin/bash -l
# SPDX-License-Identifier: EPL-1.0
##############################################################################
# Copyright (c) 2015 The Linux Foundation and others.
##############################################################################
# vim: sw=4 ts=4 sts=4 et ft=sh :
-ROBOT_VENV="/tmp/v/robot"
-echo ROBOT_VENV="${ROBOT_VENV}" >> "${WORKSPACE}/env.properties"
-
-# The --system-site-packages parameter allows us to pick up system level
-# installed packages. This allows us to bake matplotlib which takes very long
-# to install into the image.
-python3 -m venv "${ROBOT_VENV}"
# shellcheck disable=SC1090
-. "${ROBOT_VENV}/bin/activate"
+. ~/lf-env.sh
-set -exu
+# Create a virtual environment for robot tests and make sure setuptools & wheel
+# are up-to-date in addition to pip
+lf-activate-venv --python python3 --venv-file "${WORKSPACE}/.robot_venv" \
+ setuptools \
+ wheel
+
+# Save the virtual environment in ROBOT_VENV
+ROBOT_VENV="$(cat "${WORKSPACE}/.robot_venv")"
+echo ROBOT_VENV="${ROBOT_VENV}" >> "${WORKSPACE}/env.properties"
-# Make sure pip itself us up-to-date.
-python -m pip install --upgrade pip
+set -exu
echo "Installing Python Requirements"
cat << 'EOF' > "requirements.txt"
netifaces
pyhocon
requests
+robotframework
robotframework-httplibrary
robotframework-requests==0.7.2
robotframework-selenium2library
# Module for backup-restore support library
jsonpatch
-
-# odltools for extra debugging
-odltools
EOF
+
python -m pip install -r requirements.txt
-# Todo: Workaround needs pinned version of odltool to the latest because of the
-# update in the dependency resolver in pip 21.3.
-# Ref: https://github.com/pypa/pip/issues/9215
-pip install odltools==0.1.34
-odltools -V
pip freeze