Files
kuryr-libnetwork/kuryr_libnetwork/tests/contrib/post_test_hook.sh
Kien Nguyen 2490c368e3 Fix post gate hook to accommodate for new os-testr
New os-testr uses stestr under the hood, which creates .stestr but not
.testrepository directory in the current dir. Other than that, it
doesn't seem like there is any difference in the format or names of
files generated in the directory.

Change-Id: Iead2b550fc2c3accf25e450db0eb0a56603fc571
Closes-Bug: #1716746
2017-09-15 13:33:36 +07:00

61 lines
1.6 KiB
Bash

#!/usr/bin/env bash
set -xe
KURYR_LIBNETWORK_DIR="$BASE/new/kuryr-libnetwork"
TEMPEST_DIR="$BASE/new/tempest"
SCRIPTS_DIR="/usr/os-testr-env/bin/"
venv=${1:-"fullstack"}
function generate_test_logs {
local path="$1"
# Compress all $path/*.txt files and move the directories holding those
# files to /opt/stack/logs. Files with .log suffix have their
# suffix changed to .txt (so browsers will know to open the compressed
# files and not download them).
if [[ -d "$path" ]] ; then
sudo find "$path" -iname "*.log" -type f -exec mv {} {}.txt \; -exec gzip -9 {}.txt \;
sudo mv "$path/*" /opt/stack/logs/
fi
}
function generate_testr_results {
# Give job user rights to access tox logs
sudo -H -u "$owner" chmod o+rw .
sudo -H -u "$owner" chmod o+rw -R .stestr
if [[ -f ".stestr/0" ]] ; then
".tox/$venv/bin/subunit-1to2" < .stestr/0 > ./stestr.subunit
$SCRIPTS_DIR/subunit2html ./stestr.subunit testr_results.html
gzip -9 ./stestr.subunit
gzip -9 ./testr_results.html
sudo mv ./*.gz /opt/stack/logs/
fi
if [[ "$venv" == fullstack* ]] ; then
generate_test_logs "/tmp/${venv}-logs"
fi
}
#owner=tempest
# Configure the api tests to use the tempest.conf set by devstack.
#sudo_env="TEMPEST_CONFIG_DIR=$TEMPEST_DIR/etc"
owner=stack
sudo_env=
# Set owner permissions according to job's requirements.
cd "$KURYR_LIBNETWORK_DIR"
sudo chown -R $owner:stack "$KURYR_LIBNETWORK_DIR"
# Run tests
echo "Running Kuryr $venv tests"
set +e
sudo -H -u "$owner" tox -e "$venv"
testr_exit_code=$?
set -e
# Collect and parse results
generate_testr_results
exit $testr_exit_code