blob: 729463918471bb387fbe7842d3537d00c738a69e [file] [log] [blame]
Matthew Watkins1e554392022-11-15 16:03:54 -08001#!/bin/bash -l
2# SPDX-License-Identifier: EPL-1.0
3##############################################################################
4# Copyright (c) 2022 The Linux Foundation and others.
5#
6# All rights reserved. This program and the accompanying materials
7# are made available under the terms of the Eclipse Public License v1.0
8# which accompanies this distribution, and is available at
9# http://www.eclipse.org/legal/epl-v10.html
10##############################################################################
11# vim: sw=4 ts=4 sts=4 et ft=sh :
12
13set -eu pipefail
14
15# shellcheck disable=SC1090
16. ~/lf-env.sh
17
18# Create a virtual environment for robot tests and make sure setuptools & wheel
19# are up-to-date in addition to pip
20lf-activate-venv --python python3 --venv-file "${WORKSPACE}/.robot3_venv" \
21 setuptools \
22 wheel
23
24# Save the virtual environment in ROBOT_VENV
25ROBOT3_VENV="$(cat "${WORKSPACE}/.robot3_venv")"
26echo ROBOT3_VENV="${ROBOT3_VENV}" >> "${WORKSPACE}/env.properties"
27
28set -exu
29
30echo "Installing Python Requirements"
31cat << 'EOF' > "requirements.txt"
32docker-py
33ipaddr
34netaddr
35netifaces
36pyhocon
37requests
38robotframework
39robotframework-httplibrary
40robotframework-requests==0.9.3
41robotframework-selenium2library
42robotframework-sshlibrary==3.8.0
43scapy
44# Module jsonpath is needed by current AAA idmlite suite.
45jsonpath-rw
46# Modules for longevity framework robot library
47elasticsearch
48elasticsearch-dsl
49# Module for pyangbind used by lispflowmapping project
50pyangbind
51# Module for iso8601 datetime format
52isodate
53# Module for TemplatedRequests.robot library
54jmespath
55# Module for backup-restore support library
56jsonpatch
57EOF
58
59python -m pip install -r requirements.txt
60pip freeze
61python -m robot.run --version || :