Use mock_open() to prevent stdout.txt
[functest.git] / run_unit_tests.sh
1 #!/bin/bash
2 set -o errexit
3 set -o pipefail
4
5 function clean_results_dir {
6     if [ -d "/home/opnfv/functest/results" ]
7     then
8         sudo rm -rf /home/opnfv/functest/results
9     fi
10 }
11
12 # ******************************
13 # prepare the env for the tests
14 # ******************************
15 # clean useless results dir
16 # should be done at the end
17 # but in case of crash during unit test
18 # clean it anyway
19 clean_results_dir
20
21 # Either Workspace is set (CI)
22 if [ -z $WORKSPACE ]
23 then
24     WORKSPACE="."
25 fi
26
27
28 # ***************
29 # Run unit tests
30 # ***************
31 echo "Running unit tests..."
32
33 # start vitual env
34 virtualenv $WORKSPACE/functest_venv
35 source $WORKSPACE/functest_venv/bin/activate
36
37 # install python packages
38 sudo apt-get install -y build-essential python-dev python-pip
39 pip install --upgrade pip
40 pip install -r $WORKSPACE/test-requirements.txt
41 pip install $WORKSPACE
42
43 export CONFIG_FUNCTEST_YAML=$(pwd)/functest/ci/config_functest.yaml
44 # unit tests
45 # TODO: remove cover-erase
46 # To be deleted when all functest packages will be listed
47 nosetests --with-xunit \
48          --with-coverage \
49          --cover-erase \
50          --cover-tests \
51          --cover-package=functest.cli \
52          --cover-package=functest.core.testcase_base \
53          --cover-package=functest.opnfv_tests.sdn.odl.odl \
54          --cover-package=functest.utils \
55          --cover-xml \
56          --cover-html \
57          functest/tests/unit
58 rc=$?
59
60 deactivate
61
62 # *******
63 # clean
64 # *******
65 # Clean useless logs
66 clean_results_dir
67
68 exit $rc