MCPcopy Index your code
hub / github.com/python/cpython / _run_pdb

Method _run_pdb

Lib/test/test_pdb.py:3533–3557  ·  view source on GitHub ↗
(self, pdb_args, commands,
                 expected_returncode=0,
                 extra_env=None)

Source from the content-addressed store, hash-verified

3531 @unittest.skipIf(sys.flags.safe_path,
3532 'PYTHONSAFEPATH changes default sys.path')
3533 def _run_pdb(self, pdb_args, commands,
3534 expected_returncode=0,
3535 extra_env=None):
3536 self.addCleanup(os_helper.rmtree, '__pycache__')
3537 cmd = [sys.executable, '-m', 'pdb'] + pdb_args
3538 if extra_env is not None:
3539 env = os.environ | extra_env
3540 else:
3541 env = os.environ
3542 with subprocess.Popen(
3543 cmd,
3544 stdout=subprocess.PIPE,
3545 stdin=subprocess.PIPE,
3546 stderr=subprocess.PIPE,
3547 env = {**env, 'PYTHONIOENCODING': 'utf-8'}
3548 ) as proc:
3549 stdout, stderr = proc.communicate(str.encode(commands))
3550 stdout = bytes.decode(stdout) if isinstance(stdout, bytes) else stdout
3551 stderr = bytes.decode(stderr) if isinstance(stderr, bytes) else stderr
3552 self.assertEqual(
3553 proc.returncode,
3554 expected_returncode,
3555 f"Unexpected return code\nstdout: {stdout}\nstderr: {stderr}"
3556 )
3557 return stdout, stderr
3558
3559 def run_pdb_script(self, script, commands,
3560 expected_returncode=0,

Calls 5

addCleanupMethod · 0.80
communicateMethod · 0.45
encodeMethod · 0.45
decodeMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected