Skip to content

Commit

Permalink
Add test behavior to yapf_code.sh
Browse files Browse the repository at this point in the history
With this change yapf_code no longer changes the code under test when
executed from within the sanity tests.
  • Loading branch information
nathanielmanistaatgoogle committed Mar 10, 2017
1 parent 98a4c6f commit 9f1e5ab
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 22 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ objs
# Python items
cython_debug/
python_build/
python_format_venv/
yapf_virtual_environment/
python_pylint_venv/
.coverage*
.eggs
Expand Down
59 changes: 38 additions & 21 deletions tools/distrib/yapf_code.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,31 +31,48 @@
set -ex

# change to root directory
cd $(dirname $0)/../..
cd "$(dirname "${0}")/../.."

DIRS=src/python
EXCLUSIONS='src/python/grpcio/grpc_*.py src/python/grpcio_health_checking/grpc_*.py src/python/grpcio_reflection/grpc_*.py src/python/grpcio_tests/grpc_*.py'
DIRS=(
'src/python'
)
EXCLUSIONS=(
'grpcio/grpc_*.py'
'grpcio_health_checking/grpc_*.py'
'grpcio_reflection/grpc_*.py'
'grpcio_tests/grpc_*.py'
)

VIRTUALENV=python_format_venv
VIRTUALENV=yapf_virtual_environment

virtualenv $VIRTUALENV
PYTHON=`realpath $VIRTUALENV/bin/python`
$PYTHON -m pip install futures
PYTHON=$(realpath "${VIRTUALENV}/bin/python")
$PYTHON -m pip install --upgrade pip
$PYTHON -m pip install --upgrade futures
$PYTHON -m pip install yapf==0.16.0

exclusion_args=""
for exclusion in $EXCLUSIONS; do
exclusion_args="$exclusion_args --exclude $exclusion"
done
yapf() {
local exclusion exclusion_args=()
for exclusion in "${EXCLUSIONS[@]}"; do
exclusion_args+=( "--exclude" "$1/${exclusion}" )
done
$PYTHON -m yapf -i -r --style=setup.cfg -p "${exclusion_args[@]}" "${1}"
}

script_result=0
for dir in $DIRS; do
tempdir=`mktemp -d`
cp -RT $dir $tempdir
$PYTHON -m yapf -i -r -p $exclusion_args $dir
if ! diff -r $dir $tempdir; then
script_result=1
fi
rm -rf $tempdir
done
exit $script_result
if [[ -z "${TEST}" ]]; then
for dir in "${DIRS[@]}"; do
yapf "${dir}"
done
else
ok=yes
for dir in "${DIRS[@]}"; do
tempdir=$(mktemp -d)
cp -RT "${dir}" "${tempdir}"
yapf "${tempdir}"
diff -ru "${dir}" "${tempdir}" || ok=no
rm -rf "${tempdir}"
done
if [[ ${ok} == no ]]; then
false
fi
fi

0 comments on commit 9f1e5ab

Please sign in to comment.