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
This commit is contained in:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user