mirror of
https://github.com/python/cpython.git
synced 2026-04-13 15:20:52 +00:00
This commit is contained in:
parent
405f6d72bb
commit
fbbef609d1
3 changed files with 20 additions and 5 deletions
|
|
@ -790,12 +790,12 @@ def dis(self):
|
|||
return output.getvalue()
|
||||
|
||||
|
||||
def main():
|
||||
def main(args=None):
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('infile', type=argparse.FileType('rb'), nargs='?', default='-')
|
||||
args = parser.parse_args()
|
||||
args = parser.parse_args(args=args)
|
||||
with args.infile as infile:
|
||||
source = infile.read()
|
||||
code = compile(source, args.infile.name, "exec")
|
||||
|
|
|
|||
|
|
@ -3,16 +3,17 @@
|
|||
import contextlib
|
||||
import dis
|
||||
import io
|
||||
import opcode
|
||||
import re
|
||||
import sys
|
||||
import tempfile
|
||||
import types
|
||||
import unittest
|
||||
from test.support import (captured_stdout, requires_debug_ranges,
|
||||
requires_specialization, cpython_only)
|
||||
requires_specialization, cpython_only,
|
||||
os_helper)
|
||||
from test.support.bytecode_helper import BytecodeTestCase
|
||||
|
||||
import opcode
|
||||
|
||||
|
||||
def get_tb():
|
||||
def _error():
|
||||
|
|
@ -2069,5 +2070,18 @@ def get_disassembly(self, tb):
|
|||
return output.getvalue()
|
||||
|
||||
|
||||
class TestDisCLI(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.filename = tempfile.mktemp()
|
||||
self.addCleanup(os_helper.unlink, self.filename)
|
||||
|
||||
def test_invocation(self):
|
||||
with self.assertRaises(SystemExit):
|
||||
# suppress argparse error message
|
||||
with contextlib.redirect_stderr(io.StringIO()):
|
||||
dis.main(args=['--unknown', self.filename])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
Add tests for the :mod:`dis` command-line interface. Patch by Bénédikt Tran.
|
||||
Loading…
Add table
Add a link
Reference in a new issue