# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-# Run yardstick's test suite(s)
+# Run yardstick's flake8, unit, coverage, functional test
+
+getopts ":f" FILE_OPTION
run_flake8() {
- echo -n "Running flake8 ... "
- logfile=pep8.log
- flake8 yardstick > $logfile
+ echo "Running flake8 ... "
+ logfile=test_results.log
+ if [ $FILE_OPTION == "f" ]; then
+ flake8 yardstick > $logfile
+ else
+ flake8 yardstick
+ fi
+
if [ $? -ne 0 ]; then
- echo "FAILED, result in $logfile"
+ echo "FAILED"
+ if [ $FILE_OPTION == "f" ]; then
+ echo "Results in $logfile"
+ fi
+ exit 1
else
- echo "OK, result in $logfile"
+ echo "OK"
fi
}
+get_external_libs() {
+ cd $(dirname ${BASH_SOURCE[0]})
+ TREX_DOWNLOAD="https://trex-tgn.cisco.com/trex/release/v2.05.tar.gz"
+ TREX_DIR=$PWD/trex/scripts
+ if [ ! -d "$TREX_DIR" ]; then
+ rm -rf ${TREX_DOWNLOAD##*/}
+ if [ ! -e ${TREX_DOWNLOAD##*/} ] ; then
+ wget -nv $TREX_DOWNLOAD
+ fi
+ tar xf ${TREX_DOWNLOAD##*/}
+ pushd .
+ rm -rf trex && mkdir -p trex
+ mv v2.05 trex/scripts
+ rm -rf v2.05.tar.gz
+ touch "$PWD/trex/scripts/automation/trex_control_plane/stl/__init__.py"
+ popd
+ fi
+ echo "Done."
+ export PYTHONPATH=$PYTHONPATH:"$PWD/trex/scripts/automation/trex_control_plane"
+ export PYTHONPATH=$PYTHONPATH:"$PWD/trex/scripts/automation/trex_control_plane/stl"
+ echo $PYTHONPATH
+}
+
run_tests() {
- echo -n "Running unittest ... "
- logfile=test.log
- python -m unittest discover -s yardstick/tests &> $logfile
+ echo "Get external libs needed for unit test"
+ get_external_libs
+
+ echo "Running unittest ... "
+ if [ $FILE_OPTION == "f" ]; then
+ python -m unittest discover -v -s tests/unit > $logfile 2>&1
+ else
+ python -m unittest discover -v -s tests/unit
+ fi
+
if [ $? -ne 0 ]; then
- echo "FAILED, result in $logfile"
+ if [ $FILE_OPTION == "f" ]; then
+ echo "FAILED, results in $logfile"
+ fi
+ exit 1
else
- echo "OK, result in $logfile"
+ if [ $FILE_OPTION == "f" ]; then
+ echo "OK, results in $logfile"
+ fi
fi
}
+run_coverage() {
+ source tests/ci/cover.sh
+ run_coverage_test
+}
+
+run_functional_test() {
+
+ mkdir -p .testrepository
+ python -m subunit.run discover tests/functional > .testrepository/subunit.log
+
+ subunit2pyunit < .testrepository/subunit.log
+ EXIT_CODE=$?
+ subunit-stats < .testrepository/subunit.log
+
+ if [ $EXIT_CODE -ne 0 ]; then
+ exit 1
+ else
+ echo "OK"
+ fi
+}
+
+export PYTHONPATH='yardstick/vTC/apexlake'
+
run_flake8
run_tests
-
+run_coverage
+run_functional_test