Merge branch 'master' into python-2.4

This commit is contained in:
rocky
2019-12-24 12:47:58 -05:00
5 changed files with 81 additions and 12 deletions

34
NEWS.md
View File

@@ -1,3 +1,37 @@
3.6.1: 2019-12-10 Christmas Hannukah
====================================
Overall, as in the past, the focus has been on just fixing bugs, more geared
in the later 3.x range. Handling "async for/with" in 3.8+ works better.
Numerous bugs around handling `lambda` with keyword-only and `*` args in the
3.0-3.8 have been fixed. However many still remain.
`binary_expr` and `unary_expr` have been renamed to `bin_op` and
`unary_op` to better correspond the Python AST names.
Some work was done Python 3.7+ to handle `and` better; less was done
along the lines of handling `or`. Much more is needed to improve
parsing stability of 3.7+. More of what was done with `and` needs to
be done with `or` and this will happen first in the "decompyle3"
project.
Later this will probably be extended backwards to handle the 3.6-
versions better. This however comes with a big decompilation speed
penalty. When we redo control flow this should go back to normal, but
for now, accuracy is more important than speed.
Another `assert` transform rule was added. Parser rules to distingish
`try/finally` in 3.8 were added and we are more stringent about what
can be turned into an `assert`. There was some grammar cleanup here
too.
A number of small bugs were fixed, and some administrative changes to
make `make check-short` really be short, but check more throughly what
it checks. minimum xdis version needed was bumped to include in the
newer 3.6-3.9 releases. See the `ChangeLog` for details.
3.6.0: 2019-12-10 gecko gecko
=============================

View File

@@ -58,7 +58,7 @@ entry_points = {
]}
ftp_url = None
install_requires = ["spark-parser >= 1.8.9, < 1.9.0",
"xdis >= 4.2.1, < 4.3.0"]
"xdis >= 4.2.2, < 4.3.0"]
license = "GPL3"
mailing_list = "python-debugger@googlegroups.com"

View File

@@ -5,4 +5,4 @@ if [[ $0 == ${BASH_SOURCE[0]} ]] ; then
echo "This script should be *sourced* rather than run directly through bash"
exit 1
fi
export PYVERSIONS='3.5.9 3.6.10 2.6.9 3.3.7 2.7.17 3.2.6 3.1.5 3.4.8 3.7.6 3.8.1'
export PYVERSIONS='3.5.9 3.6.9 2.6.9 3.3.7 2.7.17 3.2.6 3.1.5 3.4.8 3.7.6 3.8.1'

View File

@@ -142,10 +142,11 @@ case $PYVERSION in
SKIP_TESTS[test_base64.py]=1
fi
;;
3.3)
3.2)
SKIP_TESTS=(
[test_atexit.py]=1 #
[test_decorators.py]=1 # Control flow wrt "if elif"
[test_ast.py]=1 # Look at: AssertionError: b'hi' != 'hi'
[test_dis.py]=1 # We change line numbers - duh!
[test_quopri.py]=1 # TypeError: Can't convert 'bytes' object to str implicitly
)
if (( batch )) ; then
# Fails in crontab environment?
@@ -155,10 +156,36 @@ case $PYVERSION in
fi
;;
3.5)
3.3)
SKIP_TESTS=(
[test_atexit.py]=1 #
[test_decorators.py]=1 # Control flow wrt "if elif"
)
if (( batch )) ; then
# Fails in crontab environment?
# Figure out what's up here
SKIP_TESTS[test_exception_variations.py]=1
SKIP_TESTS[test_quopri.py]=1
fi
;;
3.4)
SKIP_TESTS=(
[test_atexit.py]=1 #
[test_dis.py]=1 # We change line numbers - duh!
)
if (( batch )) ; then
# Fails in crontab environment?
# Figure out what's up here
SKIP_TESTS[test_exception_variations.py]=1
SKIP_TESTS[test_quopri.py]=1
fi
;;
3.5)
SKIP_TESTS=(
[test_ast.py]=1 #
[test_atexit.py]=1 #
[test_builtin.py]=1 #
[test_compare.py]=1
[test_dis.py]=1 # We change line numbers - duh!
)
if (( batch )) ; then
@@ -171,11 +198,18 @@ case $PYVERSION in
3.6)
SKIP_TESTS=(
[test_ast.py]=1 #
[test_atexit.py]=1 #
[test_bdb.py]=1 #
[test_builtin.py]=1 #
[test_compare.py]=1
[test_compile.py]=1
[test_contains.py]=1 # Code "while False: yield None" is optimized away in compilation
[test_decorators.py]=1 # Control flow wrt "if elif"
[test_contextlib_async.py]=1 # Investigate
[test_coroutines.py]=1 # Parse error
[test_curses.py]=1 # Parse error
[test_dis.py]=1 # We change line numbers - duh!
[test_pow.py]=1 # Control flow wrt "continue"
[test_quopri.py]=1 # Only fails on POWER
[test_quopri.py]=1 # AssertionError: b'123=four' != '123=four'
)
;;
3.7)
@@ -187,6 +221,7 @@ case $PYVERSION in
[test_builtin.py]=1 #
[test_cmdline.py]=1 # Interactive?
[test_codecs-3.7.py]=1
[test_collections.py]=1 # Fixed I think in decompyle3 - pull from there
[test_compare.py]=1
[test_compile.py]=1
[test_contains.py]=1 # Code "while False: yield None" is optimized away in compilation
@@ -202,7 +237,7 @@ case $PYVERSION in
3.8)
SKIP_TESTS=(
[test_contains.py]=1 # Code "while False: yield None" is optimized away in compilation
[test_collections.py]=1 # parse error
[test_collections.py]=1 # Fixed I think in decompyle3 - pull from there
[test_decorators.py]=1 # Control flow wrt "if elif"
[test_dis.py]=1 # We change line numbers - duh!
[test_pow.py]=1 # Control flow wrt "continue"

View File

@@ -12,4 +12,4 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# This file is suitable for sourcing inside bash as
# well as importing into Python
VERSION="3.6.0" # noqa
VERSION="3.6.1" # noqa