[Kimchi-devel] [PATCH V2][Wok 06/12] FVT: Install all the dependencies from requirements.txt and runs FVT testcases

Aline Manera alinefm at linux.vnet.ibm.com
Thu Jul 21 20:48:37 UTC 2016



On 05/30/2016 04:10 AM, archus at linux.vnet.ibm.com wrote:
> From: Archana Singh <archus at linux.vnet.ibm.com>
>
> Script to run FVT test cases which also take care of


> installing all
> dependencies from requirements.txt.

The part of installing dependencies should be done separated. Thinking 
about a completed CI infrastructure, it would be done by a Chef/Puppet 
recipe to launch a new server to run the tests.

> Signed-off-by: Archana Singh <archus at linux.vnet.ibm.com>
> ---
>   tests/fvt/run_tests.sh.in | 92 +++++++++++++++++++++++++++++++++++++++++++++++
>   1 file changed, 92 insertions(+)
>   create mode 100755 tests/fvt/run_tests.sh.in
>
> diff --git a/tests/fvt/run_tests.sh.in b/tests/fvt/run_tests.sh.in
> new file mode 100755
> index 0000000..ee31b95
> --- /dev/null
> +++ b/tests/fvt/run_tests.sh.in
> @@ -0,0 +1,92 @@
> +#!/bin/bash
> +#
> +# Project Wok
> +#
> +# Copyright IBM Corp, 2016
> +#
> +# This library is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU Lesser General Public
> +# License as published by the Free Software Foundation; either
> +# version 2.1 of the License, or (at your option) any later version.
> +#
> +# This library is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> +# Lesser General Public License for more details.
> +#
> +# You should have received a copy of the GNU Lesser General Public
> +# License along with this library; if not, write to the Free Software
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301USA
> +
> +mkdir -p venv
> +
> +HAVE_UNITTEST=@HAVE_PYMOD_UNITTEST@
> +PYTHON_VER=@PYTHON_VERSION@
> +
> +# Verify if the required commands exists on the system
> +command -v virtualenv >/dev/null 2>&1 || { echo >&2 "virtualenv must be installed for your distribution.  Aborting."; exit 1; }
> +command -v pip >/dev/null 2>&1 || { echo >&2 "pip must be installed for your distribution.  Aborting."; exit 1; }
> +
> +# Get absolute path of this script
> +pushd `dirname $0` > /dev/null
> +SCRIPTPATH=`pwd -P`
> +reqfile=$SCRIPTPATH'/requirements.txt'
> +
> +# Start the virtual environment
> +virtualenv venv --no-site-packages
> +
> +
> +# Actiate the virtual environment
> +source venv/bin/activate
> +
> +while read line; do
> +
> +  case "$line" in
> +    \#*)
> +    continue ;; # skip comments
> +    "")
> +    continue ;; # skip empty lines
> +    *)
> +    venv/bin/python$PYTHON_VER -c "import $line" > /dev/null 2>&1
> +    status=$?
> +    if [ $status -ne 0 ]; then
> +        pip install -r $reqfile # Install the required modules to run tests
> +        break
> +    fi
> +  esac
> +done < $reqfile
> +
> +# Execute the test suite
> +#python registered_tests.py
> +#nosetests --with-html --html-file=test_report.html registered_tests.py
> +
> +if [ "$1" = "-v" ]; then
> +    OPTS="-v"
> +    shift
> +else
> +    OPTS=""
> +fi
> +
> +if [ $# -ne 0 ]; then
> +    ARGS="$@"
> +else
> +    ARGS=`find -name "fvt_*.py" | xargs -I @ basename @ .py`
> +fi
> +
> +if [ "$HAVE_UNITTEST" != "yes" -o "$PYTHON_VER" == "2.6" ]; then
> +    CMD="unit2"
> +else
> +    CMD="python -m unittest"
> +fi
> +
> +LIST=($ARGS)
> +FVT_LIST=()
> +for ((i=0;i<${#LIST[@]};i++)); do
> +    FVT_LIST+=(${LIST[$i]})
> +done
> +PYTHONPATH=../ $CMD $OPTS ${FVT_LIST[@]}
> +
> +# Deativate the virtual environment
> +deactivate
> +
> +rm -fr venv




More information about the Kimchi-devel mailing list