Merge "Avoid git clone in integration test"

This commit is contained in:
Jenkins 2016-01-18 18:07:37 +00:00 committed by Gerrit Code Review
commit 3208459594
1 changed files with 32 additions and 18 deletions

View File

@ -1,32 +1,46 @@
#!/bin/bash
# Usage: test.sh openstack keystone
# Usage: test.sh openstack keystone path-to-repo
# path-to-repo is an optional parameter, if it exists
# no cloning will happen and the local directory will be used,
# the first two parameter get ignored.
# Note: you can clone from a local file with REPO_ROOT=file:////~/path/to/repo
set -x
set -e
REPO_ROOT=${REPO_ROOT:-git://git.openstack.org}
if [[ -z "$2" ]]; then
org=openstack
project=nova
if [[ $# -lt 2 ]] ; then
echo "Script needs at least two arguments:"
echo "$0 organization name [path-to-repo]"
exit 1
fi
org=$1
project=$2
if [[ $# -eq 3 ]] ; then
projectdir=$3
clone=0
else
org=$1
project=$2
projectdir=$project
clone=1
fi
tempdir="$(mktemp -d)"
if [ "$clone" = "1" ] ; then
pushd $tempdir
if [[ $REPO_ROOT == file://* ]]; then
git clone $REPO_ROOT/$org/$project
else
git clone $REPO_ROOT/$org/$project --depth=1
fi
tempdir="$(mktemp -d)"
pushd $project
set +e
flake8 --select H --statistics
popd
trap "rm -rf $tempdir" EXIT
pushd $tempdir
git clone $REPO_ROOT/$org/$project --depth=1
fi
pushd $projectdir
set +e
flake8 --select H --statistics
popd
rm -rf $tempdir
if [ "$clone" = "1" ] ; then
popd
fi