Merge "Added test cases for running the Python Tests included with SNAPS."
[functest.git] / run_unit_tests.sh
index a37cd3d..ecd57d8 100755 (executable)
@@ -2,24 +2,73 @@
 set -o errexit
 set -o pipefail
 
+# ******************************
+# prepare the env for the tests
+# ******************************
+# clean useless results dir
+# should be done at the end
+# but in case of crash during unit test
+# clean it anyway
+if [ -d "/home/opnfv/functest/results" ]
+then
+    sudo rm -rf /home/opnfv/functest
+fi
+
+# TODO clean that...
+# Create log dir if needed
+# log shall be disabled during unit tests
+# fix to be done in Logger
+echo "Create dummy log file...."
+sudo mkdir -p /home/opnfv/functest/results/odl
+sudo touch /home/opnfv/functest/results/functest.log
+sudo touch /home/opnfv/functest/results/odl/stdout.txt
+sudo chmod -Rf a+rw /home/opnfv
+
+# Either Workspace is set (CI)
+if [ -z $WORKSPACE ]
+then
+    WORKSPACE="."
+fi
+
+
+# ***************
+# Run unit tests
+# ***************
 echo "Running unit tests..."
-cd .
 
 # start vitual env
-virtualenv ./functest_venv
-source ./functest_venv/bin/activate
+virtualenv $WORKSPACE/functest_venv
+source $WORKSPACE/functest_venv/bin/activate
 
 # install python packages
-easy_install -U setuptools
-easy_install -U pip
-pip install -r docker/requirements.pip
-pip install -e .
+sudo apt-get install -y build-essential python-dev python-pip
+pip install --upgrade pip
+pip install -r $WORKSPACE/test-requirements.txt
+pip install $WORKSPACE
 
+export CONFIG_FUNCTEST_YAML=$(pwd)/functest/ci/config_functest.yaml
 # unit tests
+# TODO: remove cover-erase
+# To be deleted when all functest packages will be listed
 nosetests --with-xunit \
          --with-coverage \
-         --cover-package=functest\
+         --cover-erase \
+         --cover-package=functest.core.testcase_base \
+         --cover-package=functest.opnfv_tests.sdn.odl.odl \
          --cover-xml \
-         unit_tests
+         --cover-html \
+         functest/tests/unit
+rc=$?
 
 deactivate
+
+# *******
+# clean
+# *******
+# Clean useless logs
+if [ -d "/home/opnfv/functest/results" ]
+then
+    sudo rm -rf /home/opnfv/functest/results
+fi
+
+exit $rc