diff --git a/test/stdlib/3.8-exclude.sh b/test/stdlib/3.8-exclude.sh index 7e6b0a88..96fff4c5 100644 --- a/test/stdlib/3.8-exclude.sh +++ b/test/stdlib/3.8-exclude.sh @@ -64,7 +64,7 @@ SKIP_TESTS=( [test_index.py]=1 [test_inspect.py]=1 [test_itertools.py]=1 # parse error - [test_keywordonlyarg.py]=1 # Investigate: parameter handling + [test_keywordonlyarg.py]=1 # parse error [test_kqueue.py]=1 # it fails on its own [test_lib2to3.py]=1 # it fails on its own [test_long.py]=1 # investigate @@ -84,34 +84,33 @@ SKIP_TESTS=( [test_ossaudiodev.py]=1 # it fails on its own [test_pathlib.py]=1 # parse error [test_pdb.py]=1 # Probably relies on comments - [test_peepholer.py]=1 # test assert error + [test_peepholer.py]=1 # decompile takes a long time; then test assert error [test_pickle.py]=1 # Probably relies on comments [test_poll.py]=1 [test_poplib.py]=1 [test_pydoc.py]=1 # it fails on its own [test_runpy.py]=1 # - [test_pkg.py]=1 # Investigate: lists differ - [test_pkgutil.py]=1 # Investigate: - [test_platform.py]=1 # probably control flow: uninitialized variable - [test_pow.py]=1 # probably control flow: test assertion failure + [test_pkg.py]=1 # parse error; Investigate: lists differ + [test_pkgutil.py]=1 # parse error + [test_platform.py]=1 # parse error [test_pwd.py]=1 # killing - doesn't terminate - [test_regrtest.py]=1 # lists differ - [test_re.py]=1 # test assertion error - [test_richcmp.py]=1 # parse error + [test_regrtest.py]=1 # parse error; test assertion error: lists differ + [test_re.py]=1 # parse error; test assertion error + [test_richcmp.py]=1 # Investigate: data[i] index error in semantic handling [test_select.py]=1 # test takes too long to run: 11 seconds [test_selectors.py]=1 [test_shutil.py]=1 # fails on its own [test_signal.py]=1 # - [test_slice.py]=1 # Investigate + [test_slice.py]=1 # Investigate: test assertion error [test_smtplib.py]=1 # [test_socket.py]=1 [test_socketserver.py]=1 - [test_sort.py]=1 # Probably control flow; unintialized varaible - [test_ssl.py]=1 # Probably control flow; unintialized varaible + [test_sort.py]=1 # parse error; + [test_ssl.py]=1 # parse error [test_startfile.py]=1 # it fails on its own - [test_statistics.py]=1 # Probably control flow; unintialized varaible - [test_stat.py]=1 # test assertions failed - [test_string_literals.py]=1 # Investigate boolean parsing + [test_statistics.py]=1 # Takes more than 15 secs to run. Assert failures + [test_stat.py]=1 # parse error; test assertions failed + [test_string_literals.py]=1 # parse error; Investigate boolean parsing [test_strptime.py]=1 # test assertions failed [test_strtod.py]=1 # test assertions failed [test_structmembers.py]=1 # test assertions failed diff --git a/uncompyle6/semantics/transform.py b/uncompyle6/semantics/transform.py index 13766978..9a5710b3 100644 --- a/uncompyle6/semantics/transform.py +++ b/uncompyle6/semantics/transform.py @@ -82,7 +82,12 @@ class TreeTransform(GenericASTTraversal, object): than the code field is seen and used. """ - code = find_code_node(node, -2).attr + if self.version >= 3.7: + code_index = -3 + else: + code_index = -2 + + code = find_code_node(node, code_index).attr if ( node[-1].pattr != "closure" @@ -177,6 +182,7 @@ class TreeTransform(GenericASTTraversal, object): RAISE_VARARGS_1, ], ) + node.transformed_by="n_ifstmt" pass pass else: