summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Martinelli <s.martinelli@gmail.com>2016-06-15 14:25:51 -0400
committerSteve Martinelli <s.martinelli@gmail.com>2016-09-05 22:21:13 -0700
commiteba1bc04f4f8d70d4b036e6a6aa3e5706526de1d (patch)
tree9335d083b7da3e3c85a7bb9dab182f6f1c55bb23
parent20ad61b9d44daba59a0fd6378ee947621273f15f (diff)
downloadpython-openstackclient-eba1bc04f4f8d70d4b036e6a6aa3e5706526de1d.tar.gz
better functional test collection
straight up copied from glanceclient [1] [1] https://github.com/openstack/python-glanceclient/blob/master/glanceclient/tests/functional/hooks/post_test_hook.sh Change-Id: I9fad6d5c86831a2b872f3a61d4c7fa7383fc1266
-rwxr-xr-xpost_test_hook.sh35
1 files changed, 29 insertions, 6 deletions
diff --git a/post_test_hook.sh b/post_test_hook.sh
index 7bb036f9..e555470d 100755
--- a/post_test_hook.sh
+++ b/post_test_hook.sh
@@ -6,15 +6,38 @@
# For more information refer to:
# http://docs.openstack.org/developer/python-openstackclient/
-set -xe
+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/subunit2html $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
+}
OPENSTACKCLIENT_DIR=$(cd $(dirname "$0") && pwd)
+sudo chown -R jenkins:stack $OPENSTACKCLIENT_DIR
+# Run tests
echo "Running openstackclient functional test suite"
-sudo -H -u stack -i <<!
+set +e
+
+# Go to the openstackclient dir
+cd $OPENSTACKCLIENT_DIR
+
+# Source environment variables to kick things off
source ~stack/devstack/openrc admin admin
echo 'Running tests with:'
-env | grep OS_
-cd ${OPENSTACKCLIENT_DIR}
-tox -e functional
-!
+env | grep OS
+
+# 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