summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/dis.py2
-rw-r--r--Lib/test/test_extcall.py18
-rw-r--r--Lib/test/test_traceback.py3
3 files changed, 11 insertions, 12 deletions
diff --git a/Lib/dis.py b/Lib/dis.py
index e958c8a..3a706be 100644
--- a/Lib/dis.py
+++ b/Lib/dis.py
@@ -314,8 +314,6 @@ def _get_instructions_bytes(code, varnames=None, names=None, constants=None,
argrepr = argval
elif op in hasfree:
argval, argrepr = _get_name_info(arg, cells)
- elif op in hasnargs: # unused
- argrepr = "%d positional, %d keyword pair" % (arg%256, arg//256)
yield Instruction(opname[op], op,
arg, argval, argrepr,
offset, starts_line, is_jump_target)
diff --git a/Lib/test/test_extcall.py b/Lib/test/test_extcall.py
index 55f1393..5eea379 100644
--- a/Lib/test/test_extcall.py
+++ b/Lib/test/test_extcall.py
@@ -118,7 +118,7 @@ Verify clearing of SF bug #733667
>>> g(*Nothing())
Traceback (most recent call last):
...
- TypeError: 'Nothing' object is not iterable
+ TypeError: g() argument after * must be an iterable, not Nothing
>>> class Nothing:
... def __len__(self): return 5
@@ -127,7 +127,7 @@ Verify clearing of SF bug #733667
>>> g(*Nothing())
Traceback (most recent call last):
...
- TypeError: 'Nothing' object is not iterable
+ TypeError: g() argument after * must be an iterable, not Nothing
>>> class Nothing():
... def __len__(self): return 5
@@ -231,32 +231,34 @@ What about willful misconduct?
>>> h(*h)
Traceback (most recent call last):
...
- TypeError: 'function' object is not iterable
+ TypeError: h() argument after * must be an iterable, not function
>>> dir(*h)
Traceback (most recent call last):
...
- TypeError: 'function' object is not iterable
+ TypeError: dir() argument after * must be an iterable, not function
>>> None(*h)
Traceback (most recent call last):
...
- TypeError: 'function' object is not iterable
+ TypeError: NoneType object argument after * must be an iterable, \
+not function
>>> h(**h)
Traceback (most recent call last):
...
- TypeError: 'function' object is not a mapping
+ TypeError: h() argument after ** must be a mapping, not function
>>> dir(**h)
Traceback (most recent call last):
...
- TypeError: 'function' object is not a mapping
+ TypeError: dir() argument after ** must be a mapping, not function
>>> None(**h)
Traceback (most recent call last):
...
- TypeError: 'function' object is not a mapping
+ TypeError: NoneType object argument after ** must be a mapping, \
+not function
>>> dir(b=1, **{'b': 1})
Traceback (most recent call last):
diff --git a/Lib/test/test_traceback.py b/Lib/test/test_traceback.py
index 037d883..ac067bf 100644
--- a/Lib/test/test_traceback.py
+++ b/Lib/test/test_traceback.py
@@ -304,7 +304,6 @@ class TracebackFormatTests(unittest.TestCase):
])
# issue 26823 - Shrink recursive tracebacks
- @unittest.skipIf(True, "FIXME: test broken, see issue #28050")
def _check_recursive_traceback_display(self, render_exc):
# Always show full diffs when this test fails
# Note that rearranging things may require adjusting
@@ -353,7 +352,7 @@ class TracebackFormatTests(unittest.TestCase):
# Check the recursion count is roughly as expected
rec_limit = sys.getrecursionlimit()
- self.assertIn(int(re.search(r"\d+", actual[-2]).group()), range(rec_limit-50, rec_limit))
+ self.assertIn(int(re.search(r"\d+", actual[-2]).group()), range(rec_limit-60, rec_limit))
# Check a known (limited) number of recursive invocations
def g(count=10):