Sindbad~EG File Manager
a
��g7� � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl
mZmZ d dl
mZ d dlmZ d dlmZ d dlmZ d dlmZ dd � ZG d
d� de�Zdd
� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Z dd� Z!dd� Z"dd� Z#e�$d �Z%e&d!e%j'� d"d#� Z(d$d%� Z)d&d'� Z*d(d)� Z+d*d+� Z,d,d-� Z-d.d/� Z.d0d1� Z/d2d3� Z0d4d5� Z1d6d7� Z2d8d9� Z3d:d;� Z4d<d=� Z5d>d?� Z6d@dA� Z7dBdC� Z8G dDdE� dEej9�Z:G dFdG� dGej9�Z;dHdI� Z<e=dJk�r�e�>� dS )K� N)� ExitStack�redirect_stdout)�StringIO)�support)�
_FakeInput)�patch)�
Breakpointc C s dt _i t _d gt _d S )N� )r �nextZbplistZ
bpbynumber� r r �)/usr/local/lib/python3.9/test/test_pdb.py�reset_Breakpoint s r
c @ s( e Zd ZdZdd� Zdd� Zdd� ZdS ) �PdbTestInputz:Context manager that makes testing Pdb in doctests easier.c C s
|| _ d S �N)�input)�selfr r r r �__init__ s zPdbTestInput.__init__c C s0 t j| _t| j�t _tt d�r&t �� nd | _d S )N�gettrace)�sys�stdin�
real_stdinr r �hasattrr �
orig_trace�r r r r � __enter__# s zPdbTestInput.__enter__c G s | j t_| jrt�| j� d S r )r r r r �settrace)r �excr r r �__exit__( s zPdbTestInput.__exit__N)�__name__�
__module__�__qualname__�__doc__r r r r r r r r s r c C s dS )a1 This tests the custom displayhook for pdb.
>>> def test_function(foo, bar):
... import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
... pass
>>> with PdbTestInput([
... 'foo',
... 'bar',
... 'for i in range(5): print(i)',
... 'continue',
... ]):
... test_function(1, None)
> <doctest test.test_pdb.test_pdb_displayhook[0]>(3)test_function()
-> pass
(Pdb) foo
1
(Pdb) bar
(Pdb) for i in range(5): print(i)
0
1
2
3
4
(Pdb) continue
Nr r r r r �test_pdb_displayhook. s r"