barbican/functionaltests/run_tests.sh
Matthew Treinish 157eaf8ffa Switch to running tests in parallel with testr
This commits switches the test runner in the functional tests to use
testr in parallel instead of nosetests. There are a few reasons for
doing this, firstly parallel testing ensures performs the functional
testing in a more realistic environment. Secondly, tempest which these
tests are based on doesn't support using nose, so to prevent any
potential issues we should use the same test runner here. Lastly, in
the future subunit output will be used to perform additionally
analysis on test runs. So if the same methods were to be used on the
functional tests they need to produce subunit streams from the test
runs.

Change-Id: I7daf2be58c44f2555861e47d3444523d75cc4e28
2014-09-11 17:29:27 -04:00

43 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
# How many seconds to wait for the API to be responding before giving up
API_RESPONDING_TIMEOUT=20
if ! timeout ${API_RESPONDING_TIMEOUT} sh -c "while ! curl -s http://127.0.0.1:9311/ 2>/dev/null | grep -q 'v1' ; do sleep 1; done"; then
echo "The Barbican (non-admin) API failed to respond within ${API_RESPONDING_TIMEOUT} seconds"
exit 1
fi
echo "Successfully contacted the Barbican (non-admin) API"
if ! timeout ${API_RESPONDING_TIMEOUT} sh -c "while ! curl -s http://127.0.0.1:9312/ -HX-Project-Id:123 2>/dev/null | grep -q 'v1' ; do sleep 1; done"; then
echo "The Barbican (admin) API failed to respond within ${API_RESPONDING_TIMEOUT} seconds"
exit 1
fi
echo "Successfully contacted the Barbican (admin) API"
# Where tempest code lives
TEMPEST_DIR=${TEMPEST_DIR:-/opt/stack/new/tempest}
# Install tempest
pip install -e $TEMPEST_DIR
testr init
testr run --parallel --subunit | $TEMPEST_DIR/tools/subunit-trace.py --no-failure-debug -f
retval=$?
testr slowest
exit $retval