#!/bin/bash # oslo_debug_helper - Script that allows for debugging tests # # oslo_debug_helper [-t ] [] # # - may be a test suite, class, or function, if no value is # passed, then all tests are run. # -t - the name of the directory that houses the tests # relative to the project directory. If no value is passed, it is assumed # to be packagename/tests. TMP_DIR=`mktemp -d` || exit 1 trap "rm -rf $TMP_DIR" EXIT ALL_TESTS=$TMP_DIR/all_tests TESTS_TO_RUN=$TMP_DIR/tests_to_run # Default to packagename/tests, i.e., keystone/tests PACKAGENAME=$(python setup.py --name) TEST_DIR=./$PACKAGENAME/tests # If a specific path is passed, use that one while getopts ":t:" opt; do case $opt in t) TEST_DIR=$OPTARG;; esac done python -m testtools.run discover -t ./ $TEST_DIR --list > $ALL_TESTS # getopts friendly way of determining if a positional arg has been passed ARG1=${@:$OPTIND:1} if [ "$ARG1" ]; then grep "$ARG1" < $ALL_TESTS > $TESTS_TO_RUN else mv $ALL_TESTS $TESTS_TO_RUN fi python -m testtools.run discover --load-list $TESTS_TO_RUN