Fix functional tests job
Functional tests job are broken. This change proposes add post test hook in ironicclient, which will be executed inside post_test_hook function in devstack gate. The benefit from this approach is it will immediately pick up proposed fixes on ironicclient side and runs job. It allows us to see the change breaks tests or not w/o merging related changes. post_test_hook runs functional tests and generate testr results (original implementation was stolen from novaclient). Closes-Bug: #1491778 Change-Id: Id476430d01a57a83bd4ee42b2d03e681835dfec3
This commit is contained in:
parent
b5a720f7a4
commit
156ca47f92
49
ironicclient/tests/functional/hooks/post_test_hook.sh
Executable file
49
ironicclient/tests/functional/hooks/post_test_hook.sh
Executable file
@ -0,0 +1,49 @@
|
||||
#!/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 /usr/os-testr-env/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
|
||||
}
|
||||
|
||||
export IRONICCLIENT_DIR="$BASE/new/python-ironicclient"
|
||||
|
||||
sudo chown -R jenkins:stack $IRONICCLIENT_DIR
|
||||
|
||||
cd $IRONICCLIENT_DIR
|
||||
|
||||
# Run tests
|
||||
echo "Running ironicclient functional test suite"
|
||||
set +e
|
||||
|
||||
# Only admin credentials needed for ironic api
|
||||
source $BASE/new/devstack/openrc admin admin
|
||||
|
||||
# Preserve env for OS_ credentials
|
||||
sudo -E -H -u jenkins ./tools/run_functional.sh
|
||||
EXIT_CODE=$?
|
||||
set -e
|
||||
|
||||
# Collect and parse result
|
||||
generate_testr_results
|
||||
exit $EXIT_CODE
|
Loading…
Reference in New Issue
Block a user