Merge "change path for python ci files"
[functest.git] / run_unit_tests.sh
1 #!/bin/bash
2 set -o errexit
3 set -o pipefail
4
5 # ******************************
6 # prepare the env for the tests
7 # ******************************
8 # clean useless results dir
9 # should be done at the end
10 # but in case of crash during unit test
11 # clean it anyway
12 if [ -d "/home/opnfv/functest/results" ]
13 then
14     sudo rm -rf /home/opnfv/functest
15 fi
16
17 # TODO clean that...
18 # Create log dir if needed
19 # log shall be disabled during unit tests
20 # fix to be done in Logger
21 echo "Create dummy log file...."
22 sudo mkdir -p /home/opnfv/functest/results/odl
23 sudo touch /home/opnfv/functest/results/functest.log
24 sudo touch /home/opnfv/functest/results/odl/stdout.txt
25 sudo chmod -Rf a+rw /home/opnfv
26
27 # Either Workspace is set (CI)
28 if [ -z $WORKSPACE ]
29 then
30     WORKSPACE="."
31 fi
32
33
34 # ***************
35 # Run unit tests
36 # ***************
37 echo "Running unit tests..."
38
39 # start vitual env
40 virtualenv $WORKSPACE/functest_venv
41 source $WORKSPACE/functest_venv/bin/activate
42
43 # install python packages
44 easy_install -U setuptools
45 easy_install -U pip
46 pip install -r $WORKSPACE/docker/requirements.pip
47 pip install -e $WORKSPACE
48
49 python $WORKSPACE/setup.py develop
50
51 # unit tests
52 # TODO: remove cover-erase
53 # To be deleted when all functest packages will be listed
54 nosetests --with-xunit \
55          --with-coverage \
56          --cover-erase \
57          --cover-package=functest.core.TestCasesBase \
58          --cover-package=functest.testcases.Controllers.ODL.OpenDaylightTesting \
59          --cover-xml \
60          --cover-html \
61          functest/tests/unit
62 rc=$?
63
64 deactivate
65
66 # *******
67 # clean
68 # *******
69 # Clean useless logs
70 if [ -d "/home/opnfv/functest/results" ]
71 then
72     sudo rm -rf /home/opnfv/functest/results
73 fi
74
75 exit $rc