59 lines
1.1 KiB
Bash
Executable File
59 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 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:-https://git.openstack.org}
|
|
HACKING="$(pwd)"
|
|
|
|
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
|
|
projectdir=$project
|
|
clone=1
|
|
fi
|
|
|
|
if [ "$clone" = "1" ] ; then
|
|
|
|
tempdir="$(mktemp -d)"
|
|
|
|
trap "rm -rf $tempdir" EXIT
|
|
pushd $tempdir
|
|
git clone $REPO_ROOT/$org/$project --depth=1
|
|
fi
|
|
|
|
pushd $projectdir
|
|
set +e
|
|
|
|
# Install project with test-requirements so that hacking's
|
|
# local-check-factory works
|
|
pip install -r test-requirements.txt
|
|
pip install .
|
|
# Reinstall hacking, the above might have uninstalled it
|
|
pip install $HACKING
|
|
|
|
flake8 --select E,H --statistics
|
|
RET=$?
|
|
popd
|
|
|
|
if [ "$clone" = "1" ] ; then
|
|
popd
|
|
fi
|
|
|
|
exit $RET
|