You've already forked python-uncompyle6
mirror of
https://github.com/rocky/python-uncompyle6.git
synced 2025-08-04 01:09:52 +08:00
Merge branch 'master' into python-2.4
This commit is contained in:
@@ -19,6 +19,8 @@ function displaytime {
|
|||||||
USER=${USER:-rocky}
|
USER=${USER:-rocky}
|
||||||
EMAIL=${EMAIL:-rb@dustyfeet.com}
|
EMAIL=${EMAIL:-rb@dustyfeet.com}
|
||||||
MAX_TESTS=${MAX_TESTS:-800}
|
MAX_TESTS=${MAX_TESTS:-800}
|
||||||
|
export BATCH=1
|
||||||
|
|
||||||
typeset -i RUN_STARTTIME=$(date +%s)
|
typeset -i RUN_STARTTIME=$(date +%s)
|
||||||
|
|
||||||
# PYVERSIONS="3.5.6"
|
# PYVERSIONS="3.5.6"
|
||||||
@@ -88,4 +90,4 @@ done
|
|||||||
typeset -i RUN_ENDTIME=$(date +%s)
|
typeset -i RUN_ENDTIME=$(date +%s)
|
||||||
(( time_diff = RUN_ENDTIME - RUN_STARTTIME))
|
(( time_diff = RUN_ENDTIME - RUN_STARTTIME))
|
||||||
elapsed_time=$(displaytime $time_diff)
|
elapsed_time=$(displaytime $time_diff)
|
||||||
echo "Run complete $elapsed_time for versions $actual_versions" | mail -s "pyenv weak verify in $elapsed_time" ${EMAIL}
|
echo "Run complete $elapsed_time for versions $actual_versions" | mail -s "$HOST pyenv weak verify in $elapsed_time" ${EMAIL}
|
||||||
|
@@ -1,4 +1,6 @@
|
|||||||
SKIP_TESTS=(
|
SKIP_TESTS=(
|
||||||
|
[test_cgi.py]=1 # FIXME: Works on c90ff51
|
||||||
|
|
||||||
[test_bsddb3.py]=1 # test takes too long to run: 110 seconds
|
[test_bsddb3.py]=1 # test takes too long to run: 110 seconds
|
||||||
[test_compile.py]=1 # Code introspects on co_consts in a non-decompilable way
|
[test_compile.py]=1 # Code introspects on co_consts in a non-decompilable way
|
||||||
[test_curses.py]=1 # Possibly fails on its own but not detected
|
[test_curses.py]=1 # Possibly fails on its own but not detected
|
||||||
|
@@ -1,7 +1,16 @@
|
|||||||
SKIP_TESTS=(
|
SKIP_TESTS=(
|
||||||
[test_atexit.py]=1 # The atexit test starting at 3.3 looks for specific comments in error lines
|
[test_binop.py]=1 # FIXME: Works on c90ff51 ?
|
||||||
|
[test_cgi.py]=1 # FIXME: Works on c90ff51 ?
|
||||||
|
[test_buffer.py]=1 # FIXME: Works on c90ff51 ?
|
||||||
|
[test_decorators.py]=1 # FIXME: Works on c90ff51
|
||||||
|
[test_optparse.py]=1 # FIXME: Works on c90ff51
|
||||||
|
[test_os.py]=1 # FIXME: Works on c90ff51
|
||||||
|
[test_pep352.py]=1 # FIXME: Works on c90ff51 ?
|
||||||
|
[test_pyclbr.py]=1 # FIXME: Works on c90ff51 ?
|
||||||
|
[test_shutil.py]=1 # FIXME: Works on c90ff51
|
||||||
|
[test_strftime.py]=1 # FIXME: Works on c90ff51 ?
|
||||||
|
|
||||||
[test_buffer.py]=1 # parse error
|
[test_atexit.py]=1 # The atexit test starting at 3.3 looks for specific comments in error lines
|
||||||
|
|
||||||
[test_cmd_line.py]=1 # too long?
|
[test_cmd_line.py]=1 # too long?
|
||||||
[test_concurrent_futures.py]=1 # too long?
|
[test_concurrent_futures.py]=1 # too long?
|
||||||
|
@@ -1,11 +1,21 @@
|
|||||||
SKIP_TESTS=(
|
SKIP_TESTS=(
|
||||||
|
[test_buffer.py]=1 # FIXME: Works on c90ff51 ?
|
||||||
|
[test_decorators.py]=1 # FIXME: Works on c90ff51
|
||||||
|
[test_optparse.py]=1 # FIXME: Works on c90ff51
|
||||||
|
[test_os.py]=1 # FIXME: Works on c90ff51
|
||||||
|
[test_shutil.py]=1 # FIXME: Works on c90ff51
|
||||||
|
[test_strftime.py]=1 # FIXME: Works on c90ff51 ?
|
||||||
|
|
||||||
[test___all__.py]=1 # it fails on its own
|
[test___all__.py]=1 # it fails on its own
|
||||||
[test_atexit.py]=1 # The atexit test looks for specific comments in error lines
|
[test_atexit.py]=1 # The atexit test looks for specific comments in error lines
|
||||||
|
|
||||||
[test_cmd_line.py]=1 # takes too long to run
|
[test_cmd_line.py]=1 # takes too long to run
|
||||||
[test_concurrent_futures.py]=1 # too long?
|
[test_concurrent_futures.py]=1 # too long?
|
||||||
|
|
||||||
[test_configparser.py]=1 # Doesn't terminate
|
[test_configparser.py]=1 # Doesn't terminate
|
||||||
[test_ctypes.py]=1 # it fails on its own
|
[test_ctypes.py]=1 # it fails on its own
|
||||||
[test_curses.py]=1 # Investigate
|
[test_curses.py]=1 # Investigate
|
||||||
|
|
||||||
[test_dbm_gnu.py]=1 # fails on its own
|
[test_dbm_gnu.py]=1 # fails on its own
|
||||||
[test_devpoll.py]=1 # it fails on its own
|
[test_devpoll.py]=1 # it fails on its own
|
||||||
[test_descr.py]=1 # test assertion errors
|
[test_descr.py]=1 # test assertion errors
|
||||||
@@ -14,33 +24,44 @@ SKIP_TESTS=(
|
|||||||
[test_doctest2.py]=1
|
[test_doctest2.py]=1
|
||||||
[test_doctest.py]=1 # test assert failures
|
[test_doctest.py]=1 # test assert failures
|
||||||
[test_docxmlrpc.py]=1
|
[test_docxmlrpc.py]=1
|
||||||
|
|
||||||
[test_enum.py]=1 # compile syntax?
|
[test_enum.py]=1 # compile syntax?
|
||||||
[test_exceptions.py]=1
|
[test_exceptions.py]=1
|
||||||
|
|
||||||
[test_faulthandler.py]=1
|
[test_faulthandler.py]=1
|
||||||
[test_file_eintr.py]=1 # parse error
|
[test_file_eintr.py]=1 # parse error
|
||||||
[test_fork1.py]=1 # too long
|
[test_fork1.py]=1 # too long
|
||||||
|
|
||||||
[test_gdb.py]=1 # it fails on its own
|
[test_gdb.py]=1 # it fails on its own
|
||||||
[test_grammar.py]=1 # parse error
|
[test_grammar.py]=1 # parse error
|
||||||
|
|
||||||
[test_httplib.py]=1 # it fails on its own
|
[test_httplib.py]=1 # it fails on its own
|
||||||
|
|
||||||
[test_import.py]=1 # it fails on its own
|
[test_import.py]=1 # it fails on its own
|
||||||
[test_io.py]=1
|
[test_io.py]=1
|
||||||
[test_ioctl.py]=1 # it fails on its own
|
[test_ioctl.py]=1 # it fails on its own
|
||||||
[test_inspect.py]=1 # Syntax error Investigate
|
[test_inspect.py]=1 # Syntax error Investigate
|
||||||
|
|
||||||
[test_logging.py]=1 # Too long to run
|
[test_logging.py]=1 # Too long to run
|
||||||
[test_long.py]=1 # FIXME: Works on c90ff51
|
[test_long.py]=1 # FIXME: Works on c90ff51
|
||||||
|
|
||||||
[test_modulefinder.py]=1 # test assertion error
|
[test_modulefinder.py]=1 # test assertion error
|
||||||
[test_multiprocessing_fork.py]=1 # doesn't terminate
|
[test_multiprocessing_fork.py]=1 # doesn't terminate
|
||||||
[test_multiprocessing_forkserver.py]=1 # doesn't terminate
|
[test_multiprocessing_forkserver.py]=1 # doesn't terminate
|
||||||
[test_multiprocessing_main_handling.py]=1 # doesn't terminate
|
[test_multiprocessing_main_handling.py]=1 # doesn't terminate
|
||||||
[test_multiprocessing_spawn.py]=1 # doesn't terminate
|
[test_multiprocessing_spawn.py]=1 # doesn't terminate
|
||||||
|
|
||||||
[test_nntplib.py]=1 # too long to run
|
[test_nntplib.py]=1 # too long to run
|
||||||
|
|
||||||
[test_peepholer.py]=1 # control flow?
|
[test_peepholer.py]=1 # control flow?
|
||||||
[test_pep352.py]=1 # test assert failures
|
[test_pep352.py]=1 # test assert failures
|
||||||
[test_pickle.py]=1 # test assert failures
|
[test_pickle.py]=1 # test assert failures
|
||||||
[test_pkgimport.py]=1 # long
|
[test_pkgimport.py]=1 # long
|
||||||
[test_poll.py]=1 # Too long to run: 11 seconds
|
[test_poll.py]=1 # Too long to run: 11 seconds
|
||||||
[test_pydoc.py]=1 # test assertion failures
|
[test_pydoc.py]=1 # test assertion failures
|
||||||
|
|
||||||
[test_runpy.py]=1 # Too long:
|
[test_runpy.py]=1 # Too long:
|
||||||
|
|
||||||
[test_select.py]=1 # Too long: 11 seconds
|
[test_select.py]=1 # Too long: 11 seconds
|
||||||
[test_selectors.py]=1 # Too long: 11 seconds
|
[test_selectors.py]=1 # Too long: 11 seconds
|
||||||
[test_signal.py]=1 # Too long: 22 seconds
|
[test_signal.py]=1 # Too long: 22 seconds
|
||||||
@@ -50,12 +71,15 @@ SKIP_TESTS=(
|
|||||||
[test_subprocess.py]=1 # Too long
|
[test_subprocess.py]=1 # Too long
|
||||||
[test_symtable.py]=1 # Investigate bad output
|
[test_symtable.py]=1 # Investigate bad output
|
||||||
[test_sys_settrace.py]=1 # test assert failures
|
[test_sys_settrace.py]=1 # test assert failures
|
||||||
|
|
||||||
[test_tcl.py]=1 # May be implementation specific. On POWER though it fails
|
[test_tcl.py]=1 # May be implementation specific. On POWER though it fails
|
||||||
[test_threading.py]=1 # Too long
|
[test_threading.py]=1 # Too long
|
||||||
[test_threadsignals.py]=1 # Too long to run: 12 seconds
|
[test_threadsignals.py]=1 # Too long to run: 12 seconds
|
||||||
[test_timeout.py]=1 # Too long to run: 19 seconds
|
[test_timeout.py]=1 # Too long to run: 19 seconds
|
||||||
[test_traceback.py]=1 # introspects on code
|
[test_traceback.py]=1 # introspects on code
|
||||||
|
|
||||||
[test_urllib2net.py]=1 # Doesn't terminate
|
[test_urllib2net.py]=1 # Doesn't terminate
|
||||||
|
|
||||||
[test_zipfile64.py]=1
|
[test_zipfile64.py]=1
|
||||||
[test_zlib.py]=1
|
[test_zlib.py]=1
|
||||||
)
|
)
|
||||||
|
@@ -1,11 +1,17 @@
|
|||||||
SKIP_TESTS=(
|
SKIP_TESTS=(
|
||||||
[test_buffer.py]=1 # FIXME: Works on c90ff51
|
[test_buffer.py]=1 # FIXME: Works on c90ff51
|
||||||
[test_decorators.py]=1 # FIXME: Works on c90ff51
|
[test_decorators.py]=1 # FIXME: Works on c90ff51
|
||||||
|
[test_ftplib.py]=1 # FIXME: Works on c90ff51
|
||||||
|
[test_optparse.py]=1 # FIXME: Works on c90ff51
|
||||||
|
[test_os.py]=1 # FIXME: Works on c90ff51
|
||||||
|
[test_poplib.py]=1 # FIXME: Works on c90ff51?
|
||||||
[test_platform.py]=1 # FIXME: Works on c90ff51
|
[test_platform.py]=1 # FIXME: Works on c90ff51
|
||||||
[test_pyclbr.py]=1 # FIXME: Works on c90ff51
|
[test_pyclbr.py]=1 # FIXME: Works on c90ff51
|
||||||
|
[test_shutil.py]=1 # FIXME: Works on c90ff51?
|
||||||
|
[test_strftime.py]=1 # FIXME: Works on c90ff51?
|
||||||
|
[test_sysconfig.py]=1 # FIXME: Works on c90ff51?
|
||||||
[test_tempfile.py]=1 # FIXME: Works on c90ff51
|
[test_tempfile.py]=1 # FIXME: Works on c90ff51
|
||||||
[test_uu.py]=1 # FIXME: Works on c90ff51
|
[test_uu.py]=1 # FIXME: Works on c90ff51
|
||||||
[test_ftplib.py]=1 # FIXME: Works on c90ff51
|
|
||||||
|
|
||||||
[test___all__.py]=1 # it fails on its own
|
[test___all__.py]=1 # it fails on its own
|
||||||
[test_aifc.py]=1 #
|
[test_aifc.py]=1 #
|
||||||
|
@@ -51,6 +51,7 @@ SKIP_TESTS=(
|
|||||||
[test_datetime.py]=1 # it fails on its own
|
[test_datetime.py]=1 # it fails on its own
|
||||||
[test_dbm_ndbm.py]=1 # it fails on its own
|
[test_dbm_ndbm.py]=1 # it fails on its own
|
||||||
[test_decimal.py]=1
|
[test_decimal.py]=1
|
||||||
|
[test_decorators.py]=1 # control-flow failures
|
||||||
[test_descr.py]=1 # syntax error: Investigate
|
[test_descr.py]=1 # syntax error: Investigate
|
||||||
[test_devpoll.py]=1 # it fails on its own
|
[test_devpoll.py]=1 # it fails on its own
|
||||||
[test_dict.py]=1 # it fails on its own
|
[test_dict.py]=1 # it fails on its own
|
||||||
@@ -108,7 +109,8 @@ SKIP_TESTS=(
|
|||||||
[test_nntplib.py]=1 # test takes too long to run: 31 seconds
|
[test_nntplib.py]=1 # test takes too long to run: 31 seconds
|
||||||
[test_normalization.py]=1 # it fails on its own
|
[test_normalization.py]=1 # it fails on its own
|
||||||
|
|
||||||
[test_ordered_dict.py]= # it fails on its own
|
[test_optparse.py]=1 # test fails
|
||||||
|
[test_ordered_dict.py]=1 # it fails on its own
|
||||||
[test_ossaudiodev.py]=1 # it fails on its own
|
[test_ossaudiodev.py]=1 # it fails on its own
|
||||||
|
|
||||||
[test_pdb.py]=1 # Probably introspection
|
[test_pdb.py]=1 # Probably introspection
|
||||||
@@ -149,6 +151,7 @@ SKIP_TESTS=(
|
|||||||
[test_startfile.py]=1 # it fails on its own
|
[test_startfile.py]=1 # it fails on its own
|
||||||
[test_statistics.py]=1 # it fails on its own
|
[test_statistics.py]=1 # it fails on its own
|
||||||
[test_string_literals.py]=1
|
[test_string_literals.py]=1
|
||||||
|
[test_strftime.py]=1 # test assertion failures
|
||||||
[test_strtod.py]=1 # it fails on its own
|
[test_strtod.py]=1 # it fails on its own
|
||||||
[test_struct.py]=1 # test assertion errors
|
[test_struct.py]=1 # test assertion errors
|
||||||
[test_subprocess.py]=1
|
[test_subprocess.py]=1
|
||||||
|
@@ -14,11 +14,29 @@ function displaytime {
|
|||||||
printf '%d seconds\n' $S
|
printf '%d seconds\n' $S
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../admin-tools/pyenv-newer-versions
|
bs=${BASH_SOURCE[0]}
|
||||||
|
if [[ $0 != $bs ]] ; then
|
||||||
|
echo "This script should not be *sourced* but run through bash"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mydir=$(dirname $bs)
|
||||||
|
chdir $mydir
|
||||||
|
|
||||||
|
branch=$(cat ../../.git/HEAD | cut -d'/' -f 3)
|
||||||
|
if [[ $branch == 'python-2.4' ]]; then
|
||||||
|
. ../../admin-tools/pyenv-older-versions
|
||||||
|
elif [[ $branch == 'master' ]]; then
|
||||||
|
. ../../admin-tools/pyenv-newer-versions
|
||||||
|
else
|
||||||
|
echo &1>2 "Error git branch should either be 'master' or 'python-2.4'; got: '$branch'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
USER=${USER:-rocky}
|
USER=${USER:-rocky}
|
||||||
EMAIL=${EMAIL:-rb@dustyfeet.com}
|
EMAIL=${EMAIL:-rb@dustyfeet.com}
|
||||||
SUBJECT_PREFIX="stdlib unit testing for"
|
SUBJECT_PREFIX="stdlib unit testing for"
|
||||||
|
export BATCH=1
|
||||||
|
|
||||||
typeset -i RUN_STARTTIME=$(date +%s)
|
typeset -i RUN_STARTTIME=$(date +%s)
|
||||||
|
|
||||||
@@ -54,4 +72,4 @@ done
|
|||||||
typeset -i RUN_ENDTIME=$(date +%s)
|
typeset -i RUN_ENDTIME=$(date +%s)
|
||||||
(( time_diff = RUN_ENDTIME - RUN_STARTTIME))
|
(( time_diff = RUN_ENDTIME - RUN_STARTTIME))
|
||||||
elapsed_time=$(displaytime $time_diff)
|
elapsed_time=$(displaytime $time_diff)
|
||||||
echo "Run complete $elapsed_time for versions $actual_versions" | mail -s "runtests in $elapsed_time" ${EMAIL}
|
echo "Run complete $elapsed_time for versions $actual_versions" | mail -s "$HOST runtests in $elapsed_time" ${EMAIL}
|
||||||
|
@@ -2283,6 +2283,8 @@ class SourceWalker(GenericASTTraversal, object):
|
|||||||
if first_stmt == "store_locals":
|
if first_stmt == "store_locals":
|
||||||
if self.hide_internal:
|
if self.hide_internal:
|
||||||
del ast[0]
|
del ast[0]
|
||||||
|
if ast[0] == "sstmt":
|
||||||
|
ast[0] = ast[0][0]
|
||||||
first_stmt = ast[0]
|
first_stmt = ast[0]
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
@@ -25,6 +25,8 @@ from uncompyle6.semantics.consts import RETURN_NONE
|
|||||||
|
|
||||||
|
|
||||||
def is_docstring(node):
|
def is_docstring(node):
|
||||||
|
if node == "sstmt":
|
||||||
|
node = node[0]
|
||||||
try:
|
try:
|
||||||
return node.kind == "assign" and node[1][0].pattr == "__doc__"
|
return node.kind == "assign" and node[1][0].pattr == "__doc__"
|
||||||
except:
|
except:
|
||||||
@@ -279,24 +281,30 @@ class TreeTransform(GenericASTTraversal, object):
|
|||||||
else_suite_index = 2
|
else_suite_index = 2
|
||||||
pass
|
pass
|
||||||
pass
|
pass
|
||||||
elif (
|
else:
|
||||||
len(n) > 1
|
if (
|
||||||
and isinstance(n[0], SyntaxTree)
|
len(n) > 1
|
||||||
and 1 == len(n[0])
|
and isinstance(n[0], SyntaxTree)
|
||||||
and n[0] == "stmt"
|
and 1 == len(n[0])
|
||||||
and n[1].kind == "stmt"
|
and n[0] == "stmt"
|
||||||
):
|
and n[1].kind == "stmt"
|
||||||
else_suite_stmts = n[0]
|
):
|
||||||
if else_suite_stmts[0].kind not in (
|
else_suite_stmts = n[0]
|
||||||
|
elif len(n) == 1:
|
||||||
|
else_suite_stmts = n
|
||||||
|
else:
|
||||||
|
return node
|
||||||
|
|
||||||
|
if else_suite_stmts[0].kind in (
|
||||||
"ifstmt",
|
"ifstmt",
|
||||||
"iflaststmt",
|
"iflaststmt",
|
||||||
|
"ifelsestmt",
|
||||||
"ifelsestmtl",
|
"ifelsestmtl",
|
||||||
):
|
):
|
||||||
|
old_stmts = n
|
||||||
|
n = else_suite_stmts[0]
|
||||||
|
else:
|
||||||
return node
|
return node
|
||||||
old_stmts = n
|
|
||||||
n = else_suite_stmts[0]
|
|
||||||
else:
|
|
||||||
return node
|
|
||||||
|
|
||||||
if n.kind in ("ifstmt", "iflaststmt", "iflaststmtl", "ifpoplaststmtl"):
|
if n.kind in ("ifstmt", "iflaststmt", "iflaststmtl", "ifpoplaststmtl"):
|
||||||
node.kind = "ifelifstmt"
|
node.kind = "ifelifstmt"
|
||||||
|
Reference in New Issue
Block a user