Take CSIT preparations to separate script 98/93698/4
authorkaihlavi <l.kaihlavirt@partner.samsung.com>
Fri, 16 Aug 2019 13:02:38 +0000 (16:02 +0300)
committerkaihlavi <l.kaihlavirt@partner.samsung.com>
Mon, 19 Aug 2019 12:28:10 +0000 (15:28 +0300)
 - Move all installation steps to prepare-csit.sh
 - Clone ci-management if necessary (instead of expecting it to exist)
 - Other minor adjustments

Issue-ID: TEST-197
Signed-off-by: kaihlavi <l.kaihlavirt@partner.samsung.com>
Change-Id: I41437eaf53b7b33cb3cf2bed7e372d0843fce64d

prepare-csit.sh [new file with mode: 0755]
run-csit.sh

diff --git a/prepare-csit.sh b/prepare-csit.sh
new file mode 100755 (executable)
index 0000000..03a5394
--- /dev/null
@@ -0,0 +1,60 @@
+#!/bin/bash -x
+#
+# Copyright 2019 © Samsung Electronics Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# This script installs common libraries required by CSIT tests
+#
+
+if [ -z "$WORKSPACE" ]; then
+    export WORKSPACE=`git rev-parse --show-toplevel`
+fi
+
+TESTPLANDIR=${WORKSPACE}/${TESTPLAN}
+
+# Assume that if ROBOT_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
+    rm -rf /tmp/ci-management
+    rm -f ${WORKSPACE}/env.properties
+    cd /tmp
+    git clone "https://gerrit.onap.org/r/ci-management"
+    source /tmp/ci-management/jjb/integration/include-raw-integration-install-robotframework.sh
+fi
+
+# install required Robot libraries
+pip install robotframework-selenium2library==1.8.0 robotframework-extendedselenium2library==0.9.1
+
+# install eteutils
+mkdir -p ${ROBOT_VENV}/src/onap
+rm -rf ${ROBOT_VENV}/src/onap/testsuite
+pip install --upgrade --extra-index-url="https://nexus3.onap.org/repository/PyPi.staging/simple" 'robotframework-onap==0.5'
+
+pip freeze
+
+# install chrome driver
+if [ ! -x ${ROBOT_VENV}/bin/chromedriver ]; then
+    pushd ${ROBOT_VENV}/bin
+    wget -N http://chromedriver.storage.googleapis.com/2.35/chromedriver_linux64.zip
+    unzip chromedriver_linux64.zip
+    chmod +x chromedriver
+    popd
+fi
index 0aa4863..043292c 100755 (executable)
@@ -1,6 +1,7 @@
 #!/bin/bash -x
 #
 # Copyright 2016-2017 Huawei Technologies Co., Ltd.
+# Modification Copyright 2019 © Samsung Electronics Co., Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -16,8 +17,6 @@
 #
 # $1 project/functionality
 # $2 robot options
-# $3 ci-management repo location
-
 
 function docker_stats(){
     #General memory details
@@ -41,22 +40,19 @@ function docker_stats(){
 
 if [ $# -eq 0 ]
 then
-    echo 
-    echo "Usage: $0 plans/<project>/<functionality> [<robot-options>] [<ci-management-dir>]"
+    echo
+    echo "Usage: $0 plans/<project>/<functionality> [<robot-options>]"
     echo
     echo "    <project>, <functionality>, <robot-options>:  "
     echo "        The same values as for the '{project}-csit-{functionality}' JJB job template."
     echo
-    echo "    <ci-management-dir>: "
-    echo "        Path to the ci-management repo checked out locally.  It not specified, "
-    echo "        assumed to be adjacent to the integration repo directory."
-    echo
     exit 1
 fi
 
 if [ -z "$WORKSPACE" ]; then
     export WORKSPACE=`git rev-parse --show-toplevel`
 fi
+
 rm -rf $WORKSPACE/archives
 mkdir -p $WORKSPACE/archives
 
@@ -67,59 +63,27 @@ else
     exit 2
 fi
 
-
 export TESTOPTIONS="${2}"
 
-if [ -z "$3" ]; then
-    CI=${WORKSPACE}/../../ci-management
-else
-    CI=${3}
-fi
-
-
-
-
 TESTPLANDIR=${WORKSPACE}/${TESTPLAN}
 
-# Assume that if ROBOT_VENV is set, we don't need to reinstall robot
+# Assume that if env.properties is set, installation prerequirements are fulfilled
+# env.properties needs to be sourced for ROBOT_VENV
 if [ -f ${WORKSPACE}/env.properties ]; then
     source ${WORKSPACE}/env.properties
-fi
-if [ -f ${ROBOT_VENV}/bin/activate ]; then
-    source ${ROBOT_VENV}/bin/activate
 else
-    source $CI/jjb/integration/include-raw-integration-install-robotframework.sh
-fi
-
-# install required Robot libraries
-pip install robotframework-selenium2library==1.8.0 robotframework-extendedselenium2library==0.9.1
-
-# install eteutils
-mkdir -p ${ROBOT_VENV}/src/onap
-rm -rf ${ROBOT_VENV}/src/onap/testsuite
-pip install --upgrade --extra-index-url="https://nexus3.onap.org/repository/PyPi.staging/simple" 'robotframework-onap==0.5'
-
-pip freeze
-
-# install chrome driver
-google-chrome --version
-if [ ! -x ${ROBOT_VENV}/bin/chromedriver ]; then
-    pushd ${ROBOT_VENV}/bin
-    wget -N http://chromedriver.storage.googleapis.com/2.35/chromedriver_linux64.zip
-    unzip chromedriver_linux64.zip
-    chmod +x chromedriver
-    popd
+    source ${WORKSPACE}/prepare-csit.sh
 fi
 
+# Activate the virtualenv containing all the required libraries installed by prepare-csit.sh
+source "${ROBOT_VENV}/bin/activate"
 
 WORKDIR=`mktemp -d --suffix=-robot-workdir`
 cd ${WORKDIR}
 
-
 set +u
 set -x
 
-
 # Add csit scripts to PATH
 export PATH=${PATH}:${WORKSPACE}/docker/scripts:${WORKSPACE}/scripts:${ROBOT_VENV}/bin
 export SCRIPTS=${WORKSPACE}/scripts