mirror of
https://github.com/python/cpython
synced 2026-09-28 07:18:17 +03:00
The rest of patch 1549670 by Jiwon, making the compiler test pass.
This removes some bogus debug stuff Jiwon accidentally left in last time.
This commit is contained in:
parent
29602e42eb
commit
f59677a74a
2 changed files with 31 additions and 53 deletions
|
|
@ -831,17 +831,11 @@ class Transformer:
|
|||
i = i + 3
|
||||
else: # no vararg
|
||||
assert node[0] == token.COMMA
|
||||
i += 1
|
||||
#elif node[0] == token.COMMA:
|
||||
# i += 1
|
||||
# kwonlyargs, skip = self.keywordonlyargs(nodelist[i:])
|
||||
# i += skip
|
||||
if nodelist[i][0] == token.NAME:
|
||||
i += 2
|
||||
if i < len(nodelist) and nodelist[i][0] == token.NAME:
|
||||
kwonlyargs, skip = self.keywordonlyargs(nodelist[i:])
|
||||
i += skip
|
||||
|
||||
print "kwonlyargs:", kwonlyargs
|
||||
|
||||
if i < len(nodelist):
|
||||
# should be DOUBLESTAR
|
||||
t = nodelist[i][0]
|
||||
|
|
@ -869,7 +863,6 @@ class Transformer:
|
|||
# skip the comma
|
||||
i = i + 1
|
||||
|
||||
print "names:", names, "defaults:", defaults, "kwonlyargs:", kwonlyargs, "flags:", flags
|
||||
return names, defaults, kwonlyargs, flags
|
||||
|
||||
def com_fpdef(self, node):
|
||||
|
|
|
|||
|
|
@ -19,51 +19,36 @@ class CompilerTest(unittest.TestCase):
|
|||
libdir = os.path.dirname(unittest.__file__)
|
||||
testdir = os.path.dirname(test.test_support.__file__)
|
||||
|
||||
## for dir in [libdir, testdir]:
|
||||
## for basename in os.listdir(dir):
|
||||
## # Print still working message since this test can be really slow
|
||||
## if next_time <= time.time():
|
||||
## next_time = time.time() + _PRINT_WORKING_MSG_INTERVAL
|
||||
## print >>sys.__stdout__, \
|
||||
## ' testCompileLibrary still working, be patient...'
|
||||
## sys.__stdout__.flush()
|
||||
##
|
||||
## if not basename.endswith(".py"):
|
||||
## continue
|
||||
## if not TEST_ALL and random() < 0.98:
|
||||
## continue
|
||||
## path = os.path.join(dir, basename)
|
||||
## if test.test_support.verbose:
|
||||
## print "compiling", path
|
||||
## f = open(path, "U")
|
||||
## buf = f.read()
|
||||
## f.close()
|
||||
## if "badsyntax" in basename or "bad_coding" in basename:
|
||||
## self.assertRaises(SyntaxError, compiler.compile,
|
||||
## buf, basename, "exec")
|
||||
## else:
|
||||
## try:
|
||||
## compiler.compile(buf, basename, "exec")
|
||||
## except Exception, e:
|
||||
## args = list(e.args)
|
||||
## args[0] += "[in file %s]" % basename
|
||||
## e.args = tuple(args)
|
||||
## raise
|
||||
|
||||
path = "/home/jiwon/p3yk/Lib/test/test_keywordonlyarg.py"
|
||||
if test.test_support.verbose:
|
||||
print "compiling", path
|
||||
f = open(path, "U")
|
||||
buf = f.read()
|
||||
f.close()
|
||||
#try:
|
||||
compiler.compile(buf, "test_keywordonlyarg.py", "exec")
|
||||
#except Exception, e:
|
||||
# args = list(e.args)
|
||||
# args[0] += "[in file %s]" % path
|
||||
# e.args = tuple(args)
|
||||
# raise
|
||||
for dir in [libdir, testdir]:
|
||||
for basename in os.listdir(dir):
|
||||
# Print still working message since this test can be really slow
|
||||
if next_time <= time.time():
|
||||
next_time = time.time() + _PRINT_WORKING_MSG_INTERVAL
|
||||
print >>sys.__stdout__, \
|
||||
' testCompileLibrary still working, be patient...'
|
||||
sys.__stdout__.flush()
|
||||
|
||||
if not basename.endswith(".py"):
|
||||
continue
|
||||
if not TEST_ALL and random() < 0.98:
|
||||
continue
|
||||
path = os.path.join(dir, basename)
|
||||
if test.test_support.verbose:
|
||||
print "compiling", path
|
||||
f = open(path, "U")
|
||||
buf = f.read()
|
||||
f.close()
|
||||
if "badsyntax" in basename or "bad_coding" in basename:
|
||||
self.assertRaises(SyntaxError, compiler.compile,
|
||||
buf, basename, "exec")
|
||||
else:
|
||||
try:
|
||||
compiler.compile(buf, basename, "exec")
|
||||
except Exception, e:
|
||||
args = list(e.args)
|
||||
args[0] += "[in file %s]" % basename
|
||||
e.args = tuple(args)
|
||||
raise
|
||||
|
||||
def testNewClassSyntax(self):
|
||||
compiler.compile("class foo():pass\n\n","<string>","exec")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue