summaryrefslogtreecommitdiff
path: root/ceilometerclient
diff options
context:
space:
mode:
authorChris Dent <chdent@redhat.com>2015-03-12 15:16:44 +0000
committerChris Dent <chdent@redhat.com>2015-03-18 17:19:23 +0000
commit5bc02fe57bae5e38054a121ae03e429e9b0ba5b1 (patch)
treeb02b83f5833b891dc3ef321e7981d791192767cb /ceilometerclient
parent5d52f773090ee2d21c4b1d7d5a660be5db9bb48a (diff)
downloadpython-ceilometerclient-5bc02fe57bae5e38054a121ae03e429e9b0ba5b1.tar.gz
Add a post_test_hook for gate-run functional tests
This does the necessary to gather up the results and publish them properly for the gate job. Based on similar changes done for python-novaclient. Change-Id: Ib1f63aed9425fc8418fb9ddfe32f2d53f4b7c2b2
Diffstat (limited to 'ceilometerclient')
-rwxr-xr-xceilometerclient/tests/functional/hooks/post_test_hook.sh50
1 files changed, 50 insertions, 0 deletions
diff --git a/ceilometerclient/tests/functional/hooks/post_test_hook.sh b/ceilometerclient/tests/functional/hooks/post_test_hook.sh
new file mode 100755
index 0000000..6265cc7
--- /dev/null
+++ b/ceilometerclient/tests/functional/hooks/post_test_hook.sh
@@ -0,0 +1,50 @@
+#!/bin/bash -xe
+
+# 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.
+
+# This script is executed inside post_test_hook function in devstack gate.
+
+function generate_testr_results {
+ if [ -f .testrepository/0 ]; then
+ sudo .tox/functional/bin/testr last --subunit > $WORKSPACE/testrepository.subunit
+ sudo mv $WORKSPACE/testrepository.subunit $BASE/logs/testrepository.subunit
+ sudo .tox/functional/bin/python /usr/local/jenkins/slave_scripts/subunit2html.py $BASE/logs/testrepository.subunit $BASE/logs/testr_results.html
+ sudo gzip -9 $BASE/logs/testrepository.subunit
+ sudo gzip -9 $BASE/logs/testr_results.html
+ sudo chown jenkins:jenkins $BASE/logs/testrepository.subunit.gz $BASE/logs/testr_results.html.gz
+ sudo chmod a+r $BASE/logs/testrepository.subunit.gz $BASE/logs/testr_results.html.gz
+ fi
+}
+
+export CEILOMETERCLIENT_DIR="$BASE/new/python-ceilometerclient"
+
+# Get admin credentials
+cd $BASE/new/devstack
+source openrc admin admin
+
+# Go to the ceilometerclient dir
+cd $CEILOMETERCLIENT_DIR
+
+sudo chown -R jenkins:stack $CEILOMETERCLIENT_DIR
+
+# Run tests
+echo "Running ceilometerclient functional test suite"
+set +e
+# Preserve env for OS_ credentials
+sudo -E -H -u jenkins tox -efunctional
+EXIT_CODE=$?
+set -e
+
+# Collect and parse result
+generate_testr_results
+exit $EXIT_CODE