/
test-futurize
executable file
·107 lines (99 loc) · 4.17 KB
/
test-futurize
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#!/bin/bash
# Little wrapper for futurize.
REPO_PATH=$(dirname $(dirname $(realpath "$0")))
cd "$REPO_PATH"
# If futurize does not find any modifications then it returns:
# RefactoringTool: No files need to be modified.
# Otherwise futurize prints output on stdout:
# RefactoringTool: Refactored checks/3par_capacity
# --- checks/3par_capacity (original)
# +++ checks/3par_capacity (refactored)
# @@ -26,14 +26,14 @@
#
#
# def inventory_3par_capacity(parsed):
# - for key, value in parsed.iteritems():
# + for key, value in parsed.items():
# if value['totalMiB'] == 0:
# continue
# yield (key.replace("Capacity", ""), {})
#
#
# def check_3par_capacity(item, params, parsed):
# - for key, value in parsed.iteritems():
# + for key, value in parsed.items():
# if key.replace("Capacity", "") == item:
# total = value['totalMiB']
# free = value['freeMiB']
ENABLED_FIXERS=
ENABLED_FIXERS+=" lib2to3.fixes.fix_apply"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_dict"
ENABLED_FIXERS+=" lib2to3.fixes.fix_except"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_exec"
ENABLED_FIXERS+=" lib2to3.fixes.fix_exitfunc"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_filter"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_funcattrs"
ENABLED_FIXERS+=" lib2to3.fixes.fix_getcwdu"
ENABLED_FIXERS+=" lib2to3.fixes.fix_has_key"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_idioms"
ENABLED_FIXERS+=" lib2to3.fixes.fix_input"
ENABLED_FIXERS+=" lib2to3.fixes.fix_intern"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_isinstance"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_itertools"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_itertools_imports"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_long"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_map"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_methodattrs"
ENABLED_FIXERS+=" lib2to3.fixes.fix_ne"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_next"
ENABLED_FIXERS+=" lib2to3.fixes.fix_nonzero"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_numliterals"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_operator"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_paren"
ENABLED_FIXERS+=" lib2to3.fixes.fix_raw_input"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_reduce"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_renames"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_repr"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_standarderror"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_sys_exc"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_throw"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_tuple_params"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_types"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_ws_comma"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_xreadlines"
#ENABLED_FIXERS+=" lib2to3.fixes.fix_zip"
#ENABLED_FIXERS+=" libfuturize.fixes.fix_absolute_import"
#ENABLED_FIXERS+=" libfuturize.fixes.fix_basestring"
#ENABLED_FIXERS+=" libfuturize.fixes.fix_cmp"
#ENABLED_FIXERS+=" libfuturize.fixes.fix_division_safe"
#ENABLED_FIXERS+=" libfuturize.fixes.fix_execfile"
#ENABLED_FIXERS+=" libfuturize.fixes.fix_future_builtins"
#ENABLED_FIXERS+=" libfuturize.fixes.fix_future_standard_library"
#ENABLED_FIXERS+=" libfuturize.fixes.fix_future_standard_library_urllib"
#ENABLED_FIXERS+=" libfuturize.fixes.fix_metaclass"
#ENABLED_FIXERS+=" libfuturize.fixes.fix_next_call"
#ENABLED_FIXERS+=" libfuturize.fixes.fix_object"
#ENABLED_FIXERS+=" libfuturize.fixes.fix_print_with_import"
#ENABLED_FIXERS+=" libfuturize.fixes.fix_raise"
#ENABLED_FIXERS+=" libfuturize.fixes.fix_unicode_keep_u"
#ENABLED_FIXERS+=" libfuturize.fixes.fix_xrange_with_import"
ENABLED_FIXERS+=" libpasteurize.fixes.fix_newstyle"
if [ -z "$ENABLED_FIXERS" ]; then
echo "No fixer enabled"
exit 0
fi
# Check all relevant files in case no PYTHON_FILES is set via environment
PYTHON_FILES=${PYTHON_FILES-$($REPO_PATH/tests/find-python-files)}
FIXER_OPTS=""
for FIXER in $ENABLED_FIXERS; do
FIXER_OPTS+=" -f $FIXER"
done
# shellcheck disable=SC2086
RESULT=$(futurize $FIXER_OPTS $PYTHON_FILES 2>&1)
# This may be a bug: futurize produces some bogus messages like:
# RefactoringTool: No changes to check_bi_aggr
# RefactoringTool: Files that need to be modified:
# RefactoringTool: check_bi_aggr
echo "$RESULT" | grep -v '^RefactoringTool: '
echo "$RESULT" | grep '^+++ .*(refactored)$' | \
sed -e 's/^+++ //' -e 's/[[:blank:]]*(refactored)$/:1:1: error: file needs to be refactored/'