git checkout HEAD^
baseline_report=$(mktemp -t yardstick_coverageXXXXXXX)
- ls -l .testrepository
- # workaround 'db type could not be determined' bug
- # https://bugs.launchpad.net/testrepository/+bug/1229445
- rm -rf .testrepository
find . -type f -name "*.pyc" -delete
- #python setup.py testr --coverage --testr-args=""
- python setup.py testr --coverage --slowest --testr-args="$*"
- testr failing
- coverage report > ${baseline_report}
+ # Temporarily run tests from two directories, until all tests have moved
+ coverage run -p -m unittest discover ./tests/unit
+ coverage run -p -m unittest discover ./yardstick/tests/unit
+ coverage combine
+
+ # Temporarily omit yardstick/tests from the report
+ coverage report --omit=yardstick/tests/*/* > ${baseline_report}
+ coverage erase
# debug awk
tail -1 ${baseline_report}
# Generate and save coverage report
current_report=$(mktemp -t yardstick_coverageXXXXXXX)
- ls -l .testrepository
- # workaround 'db type could not be determined' bug
- # https://bugs.launchpad.net/testrepository/+bug/1229445
- rm -rf .testrepository
find . -type f -name "*.pyc" -delete
- #python setup.py testr --coverage --testr-args=""
- python setup.py testr --coverage --slowest --testr-args="$*"
- testr failing
- coverage report > ${current_report}
+ # Temporarily run tests from two directories, until all tests have moved
+ coverage run -p -m unittest discover ./tests/unit
+ coverage run -p -m unittest discover ./yardstick/tests/unit
+ coverage combine
+
+ # Temporarily omit yardstick/tests from the report
+ coverage report --omit=yardstick/tests/*/* > ${current_report}
+ coverage erase
rm -rf cover-$PY_VER
coverage html -d cover-$PY_VER
--- /dev/null
+# Copyright (c) 2017 Intel Corporation\r
+#\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+\r
+from __future__ import absolute_import\r
+import mock\r
+\r
+\r
+STL_MOCKS = {\r
+ 'trex_stl_lib': mock.MagicMock(),\r
+ 'trex_stl_lib.base64': mock.MagicMock(),\r
+ 'trex_stl_lib.binascii': mock.MagicMock(),\r
+ 'trex_stl_lib.collections': mock.MagicMock(),\r
+ 'trex_stl_lib.copy': mock.MagicMock(),\r
+ 'trex_stl_lib.datetime': mock.MagicMock(),\r
+ 'trex_stl_lib.functools': mock.MagicMock(),\r
+ 'trex_stl_lib.imp': mock.MagicMock(),\r
+ 'trex_stl_lib.inspect': mock.MagicMock(),\r
+ 'trex_stl_lib.json': mock.MagicMock(),\r
+ 'trex_stl_lib.linecache': mock.MagicMock(),\r
+ 'trex_stl_lib.math': mock.MagicMock(),\r
+ 'trex_stl_lib.os': mock.MagicMock(),\r
+ 'trex_stl_lib.platform': mock.MagicMock(),\r
+ 'trex_stl_lib.pprint': mock.MagicMock(),\r
+ 'trex_stl_lib.random': mock.MagicMock(),\r
+ 'trex_stl_lib.re': mock.MagicMock(),\r
+ 'trex_stl_lib.scapy': mock.MagicMock(),\r
+ 'trex_stl_lib.socket': mock.MagicMock(),\r
+ 'trex_stl_lib.string': mock.MagicMock(),\r
+ 'trex_stl_lib.struct': mock.MagicMock(),\r
+ 'trex_stl_lib.sys': mock.MagicMock(),\r
+ 'trex_stl_lib.threading': mock.MagicMock(),\r
+ 'trex_stl_lib.time': mock.MagicMock(),\r
+ 'trex_stl_lib.traceback': mock.MagicMock(),\r
+ 'trex_stl_lib.trex_stl_async_client': mock.MagicMock(),\r
+ 'trex_stl_lib.trex_stl_client': mock.MagicMock(),\r
+ 'trex_stl_lib.trex_stl_exceptions': mock.MagicMock(),\r
+ 'trex_stl_lib.trex_stl_ext': mock.MagicMock(),\r
+ 'trex_stl_lib.trex_stl_jsonrpc_client': mock.MagicMock(),\r
+ 'trex_stl_lib.trex_stl_packet_builder_interface': mock.MagicMock(),\r
+ 'trex_stl_lib.trex_stl_packet_builder_scapy': mock.MagicMock(),\r
+ 'trex_stl_lib.trex_stl_port': mock.MagicMock(),\r
+ 'trex_stl_lib.trex_stl_stats': mock.MagicMock(),\r
+ 'trex_stl_lib.trex_stl_streams': mock.MagicMock(),\r
+ 'trex_stl_lib.trex_stl_types': mock.MagicMock(),\r
+ 'trex_stl_lib.types': mock.MagicMock(),\r
+ 'trex_stl_lib.utils': mock.MagicMock(),\r
+ 'trex_stl_lib.utils.argparse': mock.MagicMock(),\r
+ 'trex_stl_lib.utils.collections': mock.MagicMock(),\r
+ 'trex_stl_lib.utils.common': mock.MagicMock(),\r
+ 'trex_stl_lib.utils.json': mock.MagicMock(),\r
+ 'trex_stl_lib.utils.os': mock.MagicMock(),\r
+ 'trex_stl_lib.utils.parsing_opts': mock.MagicMock(),\r
+ 'trex_stl_lib.utils.pwd': mock.MagicMock(),\r
+ 'trex_stl_lib.utils.random': mock.MagicMock(),\r
+ 'trex_stl_lib.utils.re': mock.MagicMock(),\r
+ 'trex_stl_lib.utils.string': mock.MagicMock(),\r
+ 'trex_stl_lib.utils.sys': mock.MagicMock(),\r
+ 'trex_stl_lib.utils.text_opts': mock.MagicMock(),\r
+ 'trex_stl_lib.utils.text_tables': mock.MagicMock(),\r
+ 'trex_stl_lib.utils.texttable': mock.MagicMock(),\r
+ 'trex_stl_lib.warnings': mock.MagicMock(),\r
+ 'trex_stl_lib.yaml': mock.MagicMock(),\r
+ 'trex_stl_lib.zlib': mock.MagicMock(),\r
+ 'trex_stl_lib.zmq': mock.MagicMock(),\r
+}\r