mirror of https://github.com/zulip/zulip.git
Add python 3 compatibility check for libmodernize.fixes.fix_dict_six.
It's not clear whether this will end up being net negative in value in the long term since it's kinda hard to understand the output, but in the short term it should prevent regressions.
This commit is contained in:
parent
5bacda3662
commit
206dc3aafc
|
@ -56,6 +56,30 @@ for fixer in $fixers; do
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# The dict fixer tries to add list() even in for loops over an
|
||||||
|
# iterator where it's just counterproductive. To address this, we run
|
||||||
|
# the fixer but check for lines which don't include code that works
|
||||||
|
# with iterators (currently for, join, and from_iterable).
|
||||||
|
fixer="libmodernize.fixes.fix_dict_six"
|
||||||
|
echo "Running python 3 compatability test $fixer"
|
||||||
|
python-modernize -f $fixer -j4 -n -w . >/dev/null 2>/dev/null
|
||||||
|
if git diff | grep "^+ " | grep -v '[ ]*for' | grep -v [.]join | grep -v from_iterable; then
|
||||||
|
echo
|
||||||
|
echo "Error: the above are changes suggested by python-modernize "
|
||||||
|
echo "to handle the list=>iterator transition in Python 3."
|
||||||
|
echo "Because 'python-modernize -f libmodernize.fixes.fix_dict_six' is spammy "
|
||||||
|
echo "and also changes places where an iterator works fine, this output "
|
||||||
|
echo "does not display the full context; you can find the diff with context by "
|
||||||
|
echo "searching through the (unfortunately very spammy) full output below:"
|
||||||
|
echo
|
||||||
|
# Clear the output
|
||||||
|
git diff
|
||||||
|
echo
|
||||||
|
echo "That was a lot of text! Read this output from the top for more readable details."
|
||||||
|
git reset --hard >/dev/null
|
||||||
|
failed=1
|
||||||
|
fi
|
||||||
|
|
||||||
if git grep -q '\(^\W*import StringIO\|^\W*from StringIO\)'; then
|
if git grep -q '\(^\W*import StringIO\|^\W*from StringIO\)'; then
|
||||||
echo "ERROR: StringIO imports not compatible with python 2+3:"
|
echo "ERROR: StringIO imports not compatible with python 2+3:"
|
||||||
git grep '\(^\W*import StringIO\|^\W*from StringIO\)'
|
git grep '\(^\W*import StringIO\|^\W*from StringIO\)'
|
||||||
|
|
Loading…
Reference in New Issue