HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/test/__pycache__/test_pydoc.cpython-37.opt-1.pyc
B

��gu��@s�ddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlmZddlmZddl m!Z!ddlm"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*ddlm+Z+Gdd�d�Z,ej-j.�r:d	Z/nd
Z/d�0�Z1e2dd
�e/D��Z3d�0�Z4e2dd
�e/D��Z5d�6dej7�Z8dZ9d�0�Z:d�0�Z;d�0�Z<d�0�Z=d�0�Z>dd�Z?dd�Z@dd�ZAdd�ZBd d!�ZCGd"d#�d#ejD�ZEGd$d%�d%ejD�ZFGd&d'�d'eE�ZGGd(d)�d)ejD�ZHGd*d+�d+ejD�ZIGd,d-�d-eE�ZJGd.d/�d/ejD�ZKGd0d1�d1ejD�ZLGd2d3�d3ejD�ZMe%d4d5��ZNeOd6k�r�eN�dS)7�N)�StringIO)�
namedtuple)�assert_python_ok)	�TESTFN�rmtree�
reap_children�reap_threads�captured_output�captured_stdout�captured_stderr�unlink�requires_docstrings)�	pydoc_modc@seZdZdZdS)�nonasciiuЦе не латиницяN)�__name__�
__module__�__qualname__�__doc__�rr�+/usr/local/lib/python3.7/test/test_pydoc.pyr$sr)�.dictionary for instance variables (if defined)�2list of weak references to the object (if defined)rr)�rrraq
NAME
    test.pydoc_mod - This is a test module for test_pydoc
%s
CLASSES
    builtins.object
        A
        B
        C
    
    class A(builtins.object)
     |  Hello and goodbye
     |  
     |  Methods defined here:
     |  
     |  __init__()
     |      Wow, I have no function!
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |  
     |  __dict__%s
     |  
     |  __weakref__%s
    
    class B(builtins.object)
     |  Data descriptors defined here:
     |  
     |  __dict__%s
     |  
     |  __weakref__%s
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |  
     |  NO_MEANING = 'eggs'
     |  
     |  __annotations__ = {'NO_MEANING': <class 'str'>}
    
    class C(builtins.object)
     |  Methods defined here:
     |  
     |  get_answer(self)
     |      Return say_no()
     |  
     |  is_it_true(self)
     |      Return self.get_answer()
     |  
     |  say_no(self)
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |  
     |  __dict__
     |      dictionary for instance variables (if defined)
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)

FUNCTIONS
    doc_func()
        This function solves all of the world's problems:
        hunger
        lack of Python
        war
    
    nodoc_func()

DATA
    __xyz__ = 'X, Y and Z'

VERSION
    1.2.3.4

AUTHOR
    Benjamin Peterson

CREDITS
    Nobody

FILE
    %s
ccs|]}|rd|ndVqdS)z
     |      rNr)�.0�srrr�	<genexpr>�sra*
<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="test.html"><font color="#ffffff">test</font></a>.pydoc_mod</strong></big></big> (version 1.2.3.4)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:%s">%s</a>%s</font></td></tr></table>
    <p><tt>This&nbsp;is&nbsp;a&nbsp;test&nbsp;module&nbsp;for&nbsp;test_pydoc</tt></p>
<p>
<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
    
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%%"><dl>
<dt><font face="helvetica, arial"><a href="builtins.html#object">builtins.object</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="test.pydoc_mod.html#A">A</a>
</font></dt><dt><font face="helvetica, arial"><a href="test.pydoc_mod.html#B">B</a>
</font></dt><dt><font face="helvetica, arial"><a href="test.pydoc_mod.html#C">C</a>
</font></dt></dl>
</dd>
</dl>
 <p>
<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="A">class <strong>A</strong></a>(<a href="builtins.html#object">builtins.object</a>)</font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Hello&nbsp;and&nbsp;goodbye<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%%">Methods defined here:<br>
<dl><dt><a name="A-__init__"><strong>__init__</strong></a>()</dt><dd><tt>Wow,&nbsp;I&nbsp;have&nbsp;no&nbsp;function!</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>%s</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>%s</tt></dd>
</dl>
</td></tr></table> <p>
<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="B">class <strong>B</strong></a>(<a href="builtins.html#object">builtins.object</a>)</font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%%">Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>%s</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>%s</tt></dd>
</dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>NO_MEANING</strong> = 'eggs'</dl>

<dl><dt><strong>__annotations__</strong> = {'NO_MEANING': &lt;class 'str'&gt;}</dl>

</td></tr></table> <p>
<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="C">class <strong>C</strong></a>(<a href="builtins.html#object">builtins.object</a>)</font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%%">Methods defined here:<br>
<dl><dt><a name="C-get_answer"><strong>get_answer</strong></a>(self)</dt><dd><tt>Return&nbsp;<a href="#C-say_no">say_no</a>()</tt></dd></dl>

<dl><dt><a name="C-is_it_true"><strong>is_it_true</strong></a>(self)</dt><dd><tt>Return&nbsp;self.<a href="#C-get_answer">get_answer</a>()</tt></dd></dl>

<dl><dt><a name="C-say_no"><strong>say_no</strong></a>(self)</dt></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
</td></tr></table></td></tr></table><p>
<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
    
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%%"><dl><dt><a name="-doc_func"><strong>doc_func</strong></a>()</dt><dd><tt>This&nbsp;function&nbsp;solves&nbsp;all&nbsp;of&nbsp;the&nbsp;world's&nbsp;problems:<br>
hunger<br>
lack&nbsp;of&nbsp;Python<br>
war</tt></dd></dl>
 <dl><dt><a name="-nodoc_func"><strong>nodoc_func</strong></a>()</dt></dl>
</td></tr></table><p>
<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
    
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%%"><strong>__xyz__</strong> = 'X, Y and Z'</td></tr></table><p>
<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
    
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%%">Benjamin&nbsp;Peterson</td></tr></table><p>
<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Credits</strong></big></font></td></tr>
    
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%%">Nobody</td></tr></table>
ccs|]}|�dd�VqdS)� z&nbsp;N)�replace)rrrrrrsz~No Python documentation found for %r.
Use help() to get the interactive help utility.
Use help(str) for help on the str class.�
z7problem in %s - ModuleNotFoundError: No module named %ra/
Help on class DA in module %s:

class DA(builtins.object)
 |  Data descriptors defined here:
 |  
 |  __dict__%s
 |  
 |  __weakref__%s
 |  
 |  ham
 |  
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from Meta:
 |  
 |  ham = 'spam'
z�
Help on class Class in module %s:

class Class(builtins.object)
 |  Data and other attributes inherited from Meta:
 |  
 |  LIFE = 42
z�
Help on class Class1 in module %s:

class Class1(builtins.object)
 |  Data and other attributes inherited from Meta1:
 |  
 |  one = 1
a
Help on class Class2 in module %s:

class Class2(Class1)
 |  Method resolution order:
 |      Class2
 |      Class1
 |      builtins.object
 |  
 |  Data and other attributes inherited from Meta1:
 |  
 |  one = 1
 |  
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from Meta3:
 |  
 |  three = 3
 |  
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from Meta2:
 |  
 |  two = 2
z�
Help on class C in module %s:

class C(builtins.object)
 |  Data and other attributes defined here:
 |  
 |  here = 'present!'
cOs,||f}tdtjf|�|�\}}}|��S)zW
    Runs pydoc on the specified module. Returns the stripped
    output of pydoc.
    z-B)r�pydoc�__file__�strip)Zmodule_name�args�envZrc�out�errrrr�	run_pydocSs
r&cCs<t��}|�|�}|�t�pd}|r0d|d}|��|fS)z&Returns pydoc generated output as htmlrz
<br><a href="z">Module Docs</a>)r�HTMLDoc�	docmodule�	getdoclocrr!)�module�doc�output�locrrr�get_pydoc_html]s
r.cCs:tjj}tjj}|||t���}t��}|j||d�}|S)z,Returns a documentation web link of a module)�basedir)�os�path�abspath�dirnamer r�TextDocr))r*r2r3r/r+r-rrr�get_pydoc_linkfsr5cCsRt��}|�t�pd}|r&d|d}|�|�}t�d�}|�d|�}|��|fS)z&Returns pydoc generated output as textrz
MODULE DOCS
    rz.)	rr4r)rr(�re�compile�subr!)r*r+r-r,Zpattrrr�get_pydoc_textos

r9cCs4|�d�\}}}|�d�\}}}|�d�\}}}|S)Nz</head>z<title>z</title>)�	partition)�text�header�_�titlerrr�get_html_title}sr?c@s.eZdZddd�Zejd	dd��Zdd�ZdS)
�
PydocBaseTestNcs&|ptj�t�g�d��fdd�	}|S)zi
        A version of pkgutil.walk_packages() that will restrict itself to
        a given path.
        Nrcs�|p�||�S)Nr)r1�prefix�onerror)�default_path�
walk_packagesrr�wrapper�sz8PydocBaseTest._restricted_walk_packages.<locals>.wrapper)NrN)r0r1r3r )�selfrDr1rEr)rCrDr�_restricted_walk_packages�sz'PydocBaseTest._restricted_walk_packagesccs,tj}|�||�t_z
dVWd|t_XdS)N)�pkgutilrDrG)rFr1rDrrr�restrict_walk_packages�s
z$PydocBaseTest.restrict_walk_packagescCs&t�|d�}t|�}|�|||�|S)Nz	text/html)r�_url_handlerr?�assertEqual)rF�urlZexpected_titler;�resultrrr�call_url_handler�szPydocBaseTest.call_url_handler)N)N)rrrrG�
contextlib�contextmanagerrIrNrrrrr@�s

	r@c@s�eZdZdZe�ejjdkd�e�e	ed�o2e�
�d�edd����Ze�ejjdkd�e�e	ed�ole�
�d�edd	����Z
d
d�Zdd
�Zdd�Zdd�Zdd�Zdd�Ze�ejjdkd�dd��Zdd�Zdd�Ze�ejjdkd�e�e	ed��oe�
�d�edd����Zdd �Zd!d"�Ze�ejjdkd�d#d$��Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Z d1d2�Z!dS)3�PydocDocTestN�z)Docstrings are omitted with -O2 and above�gettracez1trace function introduces __locals__ unexpectedlycCsDtt�\}}t�t�}tj�|�}t|||ft}|�	||�dS)N)
r.r�inspect�
getabsfile�urllib�parseZquote�expected_html_pattern�expected_html_data_docstringsrK)rFrM�doc_locZmod_fileZmod_urlZ
expected_htmlrrr�
test_html_doc�s
zPydocDocTest.test_html_doccCs6tt�\}}t|ftt�t�f}|�||�dS)N)r9r�expected_text_pattern�expected_text_data_docstringsrTrUrK)rFrMrZ�
expected_textrrr�
test_text_doc�s
zPydocDocTest.test_text_doccCs4ddl}Gdd�d|j�}t�|�}|�d|�dS)Nrc@seZdZdZdZdS)zIPydocDocTest.test_text_enum_member_with_value_zero.<locals>.BinaryIntegerr�N)rrrZzero�onerrrr�
BinaryInteger�srbz<BinaryInteger.zero: 0>)�enum�IntEnumr�
render_doc�assertIn)rFrcrbr+rrr�%test_text_enum_member_with_value_zero�s
z2PydocDocTest.test_text_enum_member_with_value_zerocCsttjj�}|�d|�dS)Nzxml.etree.elementtree)r5�xml�etreeZElementTreerf)rFZdoc_linkrrr�,test_mixed_case_module_names_are_lower_cased�sz9PydocDocTest.test_mixed_case_module_names_are_lower_casedcCs ttj�\}}|�|dd�dS)Nrz'MODULE DOCS incorrectly includes a link)r9rhrirK)rFrMrZrrr�test_issue8225�szPydocDocTest.test_issue8225cCs&tj}zdt_t��Wd|t_XdS)N)�sys�stdinr�getpager)rFZprevious_stdinrrr�test_getpager_with_stdin_none�s
z*PydocDocTest.test_getpager_with_stdin_nonecCsLGdd�d�}Gdd�d�}t�|��}t�|��}|�|�dd�|�dS)Nc@seZdZdZdS)z)PydocDocTest.test_non_str_name.<locals>.A�*N)rrrrrrr�A�srqc@seZdZdS)z)PydocDocTest.test_non_str_name.<locals>.BN)rrrrrrr�B�srr)rrerKr)rFrqrrZadocZbdocrrr�test_non_str_name�s
zPydocDocTest.test_non_str_namecCs,d}tt|�d�}t|}|�||d�dS)Nztest.i_am_not_here�asciiz&documentation for missing module found)�strr&�missing_patternrK)rF�missing_modulerM�expectedrrr�
test_not_here�s
zPydocDocTest.test_not_herez)Docstrings are omitted with -OO and abovecCs*tddd�}tj�dd�}|�||�dS)Nztest.test_pydoc.nonasciirt)ZPYTHONIOENCODING�backslashreplace)r&rr�encoderf)rFrMZencodedrrr�test_not_ascii�szPydocDocTest.test_not_asciicCs.d}tt|�d�}t|��}|�||�dS)Nz test.i_am_not_here rt)rur&rvr!rK)rFrwrMrxrrr�test_input_strip�szPydocDocTest.test_input_stripcCsJtj}|�|d�d�|�|d�d�|�|d�d�|�|d�d�dS)Nz<function stripid at 0x88dcee4>z<function stripid>z <function stripid at 0x01F65390>Z42z<type 'exceptions.Exception'>)r�stripidrK)rFr~rrr�test_stripid�s


zPydocDocTest.test_stripidc
Cs�t}tj}dd�}d|_t�}tj|d�}tt�\}}d}d��}	t	�
|	�}	|	t}
|t_z�td��v}td��b}|�|�|�
���}
|
|ftt�t�f}|�d|�
��|�d|�
��|�||
�WdQRXWdQRXWd|t_XdS)	NcSsdd�S)NcSs|S)Nr)�xrrr�<lambda>�zJPydocDocTest.test_help_output_redirect.<locals>.<lambda>.<locals>.<lambda>rrrrrr�r�z8PydocDocTest.test_help_output_redirect.<locals>.<lambda>)r,ztest.pydoc_modz9
        Help on module test.pydoc_mod in test:

        �stdout�stderrr)r\rrn�maxDiffr�Helperr9r�lstrip�textwrap�dedentr	�help�getvaluer!r]rTrUrK)rFZold_patternZgetpager_oldZgetpager_new�buf�helperZunusedrZr*Zhelp_headerZexpected_help_patternr,r%rMr^rrr�test_help_output_redirect	s0



$z&PydocDocTest.test_help_output_redirectc	Cs^tdddgdd�}t��}t�|�WdQRX|��}|�d|�|�d|�|�d|�dS)	N�NT�abc�defT)�renameZ_1�_replace�_asdict)rr
rr�r�rf)rFr��help_io�helptextrrr�!test_namedtuple_public_underscore1sz.PydocDocTest.test_namedtuple_public_underscorec
Cs�|�tt�xpdD]h}ttd|d��8}|dkr@td�|�|d�td|d�td|d�WdQRXt�ti�}|�|d	�qWdS)
N)z
ISO-8859-1zUTF-8�w)�encodingzUTF-8z#coding: {})�fileu"""line 1: héz
line 2: hi"""uline 1: hé)	�
addCleanuprr�open�print�formatr�synopsisrK)rFr�Zscriptr�rrr�
test_synopsis:s
zPydocDocTest.test_synopsiscCs.tj��d}tj}t�|�}|�||�dS)Nr)r0r�
splitlines�
__cached__rr�rK)rFrx�filenamer�rrr�test_synopsis_sourcelessEs
z%PydocDocTest.test_synopsis_sourcelessc
Cs�tj���v}tj�|d�}tj�|�}t	|d��}|�
d�WdQRXt�|�t
�|i�}|�|�t
�|i�}|�|�WdQRXdS)Nzfoomod42.pyr�zfoo = 1)�test�support�temp_cwdr0r1�join�	importlib�util�cache_from_sourcer��write�
py_compiler7rr��assertIsNone)rF�test_dir�	init_pathZcached_path�fobjr�Zsynopsis_cachedrrr�"test_synopsis_sourceless_empty_docNs

z/PydocDocTest.test_synopsis_sourceless_empty_doccCsd}|�t�|�d�dS)Nz#I Am A Doc


Here is my description)z
I Am A Docz
Here is my description)rKrZsplitdoc)rFZexample_stringrrr�test_splitdoc_with_descriptionZsz+PydocDocTest.test_splitdoc_with_descriptioncCs@t��}|�t�|j��|�t�tj��|�t�d��dS)NzI am not a method)rZDoc�
assertTrueZ_is_some_method�fail�int�__add__�assertFalse)rFr+rrr�test_is_object_or_method_sz%PydocDocTest.test_is_object_or_methodc	Cs*tj���}|�t�|��WdQRXdS)N)r�r�r�r�r�	ispackage)rFr�rrr� test_is_package_when_not_packagehsz-PydocDocTest.test_is_package_when_not_packagec	CsPtj���<}tj�|d�}t|d���|�t	�
|��t�|�WdQRXdS)Nz__init__.pyr�)r�r�r�r0r1r�r��closer�rr��remove)rFr�r�rrr�test_is_package_when_is_packagels
z,PydocDocTest.test_is_package_when_is_packagecCs`Gdd�dt�}ttt��}|j|d<|d=|d=|j|d<|j|d<t�|�}|�||�dS)Nc@seZdZdd�ZdS)z/PydocDocTest.test_allmethods.<locals>.TestClasscSsdS)NTr)rFrrr�method_returning_truezszEPydocDocTest.test_allmethods.<locals>.TestClass.method_returning_trueN)rrrr�rrrr�	TestClassysr�r�r�	__class__�__subclasshook__�__init_subclass__)	�object�dict�varsr�r�r�rZ
allmethodsZassertDictEqual)rFr�rx�methodsrrr�test_allmethodsss



zPydocDocTest.test_allmethodscspGdd�d��G�fdd�d��}t�|�}t�dd|�}|�|dt�tj|t��d�}|�|d	t�dS)
Nc@s"eZdZddd�ZeZdd�ZdS)z+PydocDocTest.test_method_aliases.<locals>.ANcSsdS)z(Raise this widget in the stacking order.Nr)rFZ	aboveThisrrr�tkraise�sz3PydocDocTest.test_method_aliases.<locals>.A.tkraisecSsdS)zReturn sizeNr)rFrrr�a_size�sz2PydocDocTest.test_method_aliases.<locals>.A.a_size)N)rrrr�Zliftr�rrrrrq�s
rqcs eZdZddd�ZeZ�jZdS)z+PydocDocTest.test_method_aliases.<locals>.BNc[sdS)z'Configure resources of an item TAGORID.Nr)rFZtagOrIdZcnf�kwrrr�
itemconfigure�sz9PydocDocTest.test_method_aliases.<locals>.B.itemconfigure)N)rrrr�Z
itemconfigr�Zb_sizer)rqrrrr�s
rrz.ra�Python Library Documentation: class B in module %s

class B(A)
 |  Method resolution order:
 |      B
 |      A
 |      builtins.object
 |  
 |  Methods defined here:
 |  
 |  b_size = a_size(self)
 |  
 |  itemconfig = itemconfigure(self, tagOrId, cnf=None, **kw)
 |  
 |  itemconfigure(self, tagOrId, cnf=None, **kw)
 |      Configure resources of an item TAGORID.
 |  
 |  ----------------------------------------------------------------------
 |  Methods inherited from A:
 |  
 |  a_size(self)
 |      Return size
 |  
 |  lift = tkraise(self, aboveThis=None)
 |  
 |  tkraise(self, aboveThis=None)
 |      Raise this widget in the stacking order.
 |  
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from A:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)
)ZrendereraPython Library Documentation: class B in module %s

<p>
<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="B">class <strong>B</strong></a>(A)</font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%%"><dl><dt>Method resolution order:</dt>
<dd>B</dd>
<dd>A</dd>
<dd><a href="builtins.html#object">builtins.object</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="B-b_size"><strong>b_size</strong></a> = <a href="#B-a_size">a_size</a>(self)</dt></dl>

<dl><dt><a name="B-itemconfig"><strong>itemconfig</strong></a> = <a href="#B-itemconfigure">itemconfigure</a>(self, tagOrId, cnf=None, **kw)</dt></dl>

<dl><dt><a name="B-itemconfigure"><strong>itemconfigure</strong></a>(self, tagOrId, cnf=None, **kw)</dt><dd><tt>Configure&nbsp;resources&nbsp;of&nbsp;an&nbsp;item&nbsp;TAGORID.</tt></dd></dl>

<hr>
Methods inherited from A:<br>
<dl><dt><a name="B-a_size"><strong>a_size</strong></a>(self)</dt><dd><tt>Return&nbsp;size</tt></dd></dl>

<dl><dt><a name="B-lift"><strong>lift</strong></a> = <a href="#B-tkraise">tkraise</a>(self, aboveThis=None)</dt></dl>

<dl><dt><a name="B-tkraise"><strong>tkraise</strong></a>(self, aboveThis=None)</dt><dd><tt>Raise&nbsp;this&nbsp;widget&nbsp;in&nbsp;the&nbsp;stacking&nbsp;order.</tt></dd></dl>

<hr>
Data descriptors inherited from A:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
</td></tr></table>)rrer6r8rKrr')rFrrr+r)rqr�test_method_aliases�s
%
(z PydocDocTest.test_method_aliases)"rrrr��unittest�skipIfrl�flags�optimize�hasattrrSr
r[r_rgrjrkrorsryr|r}rr�r�r�r�r�r�r�r�r�r�r�rrrrrQ�sJ
	

$		rQc@szeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Ze	�
d
�dd��Ze	�
d
�dd��Ze	�
d�dd��Z
dd�ZdS)�PydocImportTestcCs$t�t�|_|�tt�t��dS)N)r0�mkdirrr�r�rr��invalidate_caches)rFrrr�setUp�szPydocImportTest.setUpc	
Cs�d}dddd�|�dfd�|�d�|�ff}tj�t|�tjd}x`|D]X\}}t|d	��}|�d
�|��WdQRXt|td��	d�}t
||f}|�||�qJWdS)
NZ
testmod_xyzzy)�
i_am_not_herer�)ztest.i_am_not_here_eitherztest.i_am_not_here_either)ztest.i_am_not_here.neither_am_iztest.i_am_not_herezi_am_not_here.{}r�ztest.{}�pyr�z
import {}
)Z
PYTHONPATHrt)r�r0r1r�r�extsepr�r�r&�decode�badimport_patternrK)	rF�modnameZ	testpairsZsourcefnZimportstringZ
expectedinmsg�frMrxrrr�test_badimport�szPydocImportTest.test_badimportcCstj�td�}t�|�tj�|d�tjd}t|d��}|�d�WdQRX|jtgd���t	��"}t
��}t�d�WdQRXWdQRX|�
|��d�|�
|��d�t	��"}t
��}t�d�WdQRXWdQRX|�
|����d�|�
|��d�WdQRXdS)	NZ	syntaxerr�__init__r�r�zinvalid python syntax = $1
)r1Zxyzzyr)r0r1r�rr�r�r�r�rIr
rr�aproposrKr�r!)rF�pkgdirZ	badsyntaxr�r$r%rrr�test_apropos_with_bad_packages 
z-PydocImportTest.test_apropos_with_bad_packagecCs�tj�td�|_t�|jd�|�tj|j�|jtgd��4t	��"}t
��}t�d�WdQRXWdQRXWdQRX|�
|��d�|�
|��d�dS)NZ
unreadabler)r1ZSOMEKEYr)r0r1r�rZunreadable_dirr�r��rmdirrIr
rrr�rKr�)rFr$r%rrr� test_apropos_with_unreadable_dir s(z0PydocImportTest.test_apropos_with_unreadable_dirc
Cs�tj�td�}t�|�|�t|�tj�|d�}t|d��}|�d�WdQRXt	�
t�	|�j�}z^t�||t	j
@�|jtgd��"t��}t�d�WdQRXWdQRX|�d|���Wdt�||�XdS)NZwalkpkgz__init__.pyr�zfoo = 1)r1r)r0r1r�rr�r�rr�r��stat�S_IMODE�st_mode�chmod�S_IEXECrIr
rr�rfr�)rFr�r�r�Zcurrent_moder�rrr�test_apropos_empty_doc/s
z&PydocImportTest.test_apropos_empty_doccCs�tj�td�}t�|�tj�|d�}t|ddd��}|�d�WdQRX|jtgd��ptt	j�}t	j�
dt�z@|�td	��ddl
}WdQRX|�d
d�}d}|�||�Wd|t	jdd�<XWdQRXdS)
N�test_error_packagez__init__.pyZwtrt)r�zraise ValueError("ouch")
)r1rZouchzsearch?key=test_error_packagezPydoc: Search Resultsz8<a href="test_error_package.html">test_error_package</a>)r0r1r�rr�r�r�rI�tuplerl�insertZassertRaisesRegex�
ValueErrorr�rNrf)rFr�Zinitr�Zsaved_pathsr�r;�foundrrr�test_url_search_package_error?s 

z-PydocImportTest.test_url_search_package_errorz(causes undesirable side-effects (#20128)c	CsZd}d}d}|||}t�}tj|d�}|d�|����}t|���}|�||�dS)NrR��)r,�modules)rrr�r�r!�lenr�ZassertGreaterEqual)	rFZnum_header_linesZnum_module_lines_minZnum_footer_linesrxr,r�rMZ	num_linesrrr�test_modulesVszPydocImportTest.test_modulesc	CsHd}t�}tj|d�}t��}|d�WdQRX|��}|�||�dS)Nzpydoc - )r,z
modules pydoc)rrr�r
r�rf)rFrxr,r�r�rMrrr�test_modules_searchfsz#PydocImportTest.test_modules_searchz+some buildbots are not cooperating (#20128)c	CsLd}t�}tj|d�}t��}|d�WdQRX|��}|�|�|��dS)Nzgc - )r,zmodules garbage)rrr�r
r�r��
startswith)rFrxr,r�r�rMrrr�test_modules_search_builtinssz+PydocImportTest.test_modules_search_builtincCsJt�tj�}|�|t�|�|jd�|�|jtj�|�|jtj�dS)Nr)rZ
importfiler ZassertIsNotrKr�__spec__)rFZloaded_pydocrrr�test_importfiles
zPydocImportTest.test_importfileN)rrrr�r�r�r�r�r�r��skipr�r�r�r�rrrrr��s
r�c@steZdZdd�Zdd�Zdd�Zdd�Zed	d
��Zdd�Z	e
d
d��Zdd�Zdd�Z
e
dd��Ze
dd��ZdS)�TestDescriptionscCs&ddlm}t�|�}|�d|�dS)Nr)�pydocfodderr�)r�r�rrerf)rFr�r+rrr�test_module�s
zTestDescriptions.test_modulecCsVGdd�d�}|�}|�t�|�d�|�t�|�d�dt}|�|t�|��dS)Nc@seZdZdZdS)z&TestDescriptions.test_class.<locals>.CzNew-style classN)rrrrrrrr�C�sr�zclass CzC in module %s object)rKrZdescriberrfre)rFr��crxrrr�
test_class�szTestDescriptions.test_classcCs�tjtjttjtjttjfd�dd�}t�d�}Gdd�dtj|tjtt	f�}|�
t�|��
�dd�|�
t�|��
�d	d
�dS)N)�datar��returncSsdS)Nr)rr�rrr�foo�sz/TestDescriptions.test_typing_pydoc.<locals>.foo�Tc@seZdZdS)z-TestDescriptions.test_typing_pydoc.<locals>.CN)rrrrrrrr��sr����z?ffoooo(data: List[Any], x: int) -> Iterator[Tuple[int, Any]]rRz2class CC(collections.abc.Mapping, typing.Generic))�typingZListZAnyr��IteratorZTupleZTypeVarZGeneric�MappingrurKrrer�)rFrrr�rrr�test_typing_pydoc�s
"
"z"TestDescriptions.test_typing_pydocc	Cs�xPdD]H}|�t�|��yt�|�Wqtk
rL|�d�|��YqXqWx,dD]$}|�t�|��|�ttj|�qXWdS)N)ruz
str.translatezbuiltins.strzbuiltins.str.translatezfinding the doc of {!r} failed)ZnotbuiltinsZstrrrzstrr.translatezstr.trrrranslatezbuiltins.strrrzbuiltins.str.trrranslate)	ZassertIsNotNonerZlocatere�ImportErrorr�r�r��assertRaises)rF�namerrr�test_builtin�s

zTestDescriptions.test_builtincCs"t�t�|��}|�d�}|dS)NrrR)rZplainre�split)�or;�linesrrr�_get_summary_line�s
z"TestDescriptions._get_summary_linecCs|�|�tjj�d�dS)Nzwrap(self, text))rKrr��TextWrapper�wrap)rFrrr�test_unbound_python_method�sz+TestDescriptions.test_unbound_python_methodcCs|�|�tjj�d�dS)Nzdump(self, obj, /))rKr�_pickle�Pickler�dump)rFrrr�test_unbound_builtin_method�sz,TestDescriptions.test_unbound_builtin_methodcCs t��}|�|�|j�d�dS)Nz2wrap(text) method of textwrap.TextWrapper instance)r�rrKrr)rF�trrr�test_bound_python_method�sz)TestDescriptions.test_bound_python_methodcCs~tddddg�}t�|�}|�|�d�|�d��|�|�d�|�d��Gdd�d�}Gdd�d�}t�|�t�|�dS)	N�PersonZnicknameZ	firstnameZagegroupc@seZdZdZdS)zMTestDescriptions.test_field_order_for_named_tuples.<locals>.NonIterableFieldsN)rrr�_fieldsrrrr�NonIterableFields�src@seZdZggZdS)zMTestDescriptions.test_field_order_for_named_tuples.<locals>.NonHashableFieldsN)rrrrrrrr�NonHashableFields�sr)rrreZ
assertLess�index)rFrrrrrrr�!test_field_order_for_named_tuples�s

z2TestDescriptions.test_field_order_for_named_tuplescCs(t�}t�|�}|�|�|j�d�dS)Nz/dump(obj, /) method of _pickle.Pickler instance)rrrrKrr)rFr�prrr�test_bound_builtin_method�s
z*TestDescriptions.test_bound_builtin_methodcCs|�|�tj�d�dS)Nz0stat(path, *, dir_fd=None, follow_symlinks=True))rKrr0r�)rFrrr�test_module_level_callable�sz+TestDescriptions.test_module_level_callableN)rrrr�rr
r�staticmethodrrr
rrr!r#r$rrrrr��s	r�c@seZdZdZdd�ZdS)�PydocServerTestzTests for pydoc._start_servercCs|dd�}tj|ddd�}|�d|jj�t��}d}x4|jrht�d�|jr6t��||kr6|�	�Pq6W|�
|jd�dS)NcSsd||f}|S)Nzthe URL sent was: (%s, %s)r)rLZcontent_typer;rrr�my_url_handler�sz3PydocServerTest.test_server.<locals>.my_url_handlerz0.0.0.0r)ZhostnameZportr`g{�G�z�?)rZ
_start_serverrfZ	docserverZaddress�timeZ	monotonicZservingZsleep�stoprK�error)rFr'ZserverthreadZ	starttimeZtimeoutrrr�test_server�s
zPydocServerTest.test_serverN)rrrrr+rrrrr&�sr&c@s eZdZdZdd�Zdd�ZdS)�PydocUrlHandlerTestzTests for pydoc._url_handlercCs*tj}|�t|dd�|�t|dd�dS)Nrqrrr�foobar)rrJr�	TypeError)rFr�rrr�test_content_type_errsz)PydocUrlHandlerTest.test_content_type_errcCsPddddddddd	d
dg}|���$x|D]\}}|�||�q*WWdQRXdS)N)rzPydoc: Index of Modules)zget?key=zPydoc: Index of Modules)r zPydoc: Index of Modules)Ztopicsz
Pydoc: Topics)�keywordszPydoc: Keywords)rzPydoc: module pydoc)z
get?key=pydoczPydoc: module pydoc)zsearch?key=pydoczPydoc: Search Results)z
topic?key=defzPydoc: KEYWORD def)ztopic?key=STRINGSzPydoc: TOPIC STRINGS)r-zPydoc: Error - foobar)rIrN)rFZrequestsrLr>rrr�test_url_requestss
z%PydocUrlHandlerTest.test_url_requestsN)rrrrr/r1rrrrr,sr,c@seZdZdd�ZdS)�
TestHelpercCs|�ttjj�ttj��dS)N)rK�sortedrr�r0�keyword�kwlist)rFrrr�
test_keywords$szTestHelper.test_keywordsN)rrrr6rrrrr2#sr2c@s�eZdZe�ejjdkd�e�eed�o.e�	�d�dd���Z
e�ejjdkd�e�eed�ode�	�d�dd���Ze�ejjdkd�e�eed�o�e�	�d�d	d
���Ze�ejjdkd�e�eed�o�e�	�d�dd���Z
d
d�ZdS)�PydocWithMetaClassesrRz)Docstrings are omitted with -O2 and aboverSz1trace function introduces __locals__ unexpectedlycCs�Gdd�dt�}Gdd�d|d�}tdd�tD��}t�}tj|d�}||�ttf|dd	�}|���	�}|�
||�dS)
NcseZdZ�fdd�Z�ZS)z=PydocWithMetaClasses.test_DynamicClassAttribute.<locals>.Metacs|dkrdSt��|�S)N�hamZspam)�super�__getattr__)rFr
)r�rrr:/szIPydocWithMetaClasses.test_DynamicClassAttribute.<locals>.Meta.__getattr__)rrrr:�
__classcell__rr)r�r�Meta.sr<c@seZdZejdd��ZdS)z;PydocWithMetaClasses.test_DynamicClassAttribute.<locals>.DAcSsdS)NZeggsr)rFrrrr84sz?PydocWithMetaClasses.test_DynamicClassAttribute.<locals>.DA.hamN)rrr�types�DynamicClassAttributer8rrrr�DA3sr?)�	metaclasscss|]}|rd|ndVqdS)z	
 |      rNr)rrrrrr7szBPydocWithMetaClasses.test_DynamicClassAttribute.<locals>.<genexpr>)r,rR)�typer��expected_data_docstringsrrr��!expected_dynamicattribute_patternrr�r!rK)rFr<r?r]r,r�r^rMrrr�test_DynamicClassAttribute)s
z/PydocWithMetaClasses.test_DynamicClassAttributecCs`Gdd�dt�}Gdd�d|d�}t�}tj|d�}||�tt}|����}|�||�dS)Ncs$eZdZdd�Z�fdd�Z�ZS)zHPydocWithMetaClasses.test_virtualClassAttributeWithOneMeta.<locals>.MetacSsddddgS)Nr�rr�LIFEr)�clsrrr�__dir__GszPPydocWithMetaClasses.test_virtualClassAttributeWithOneMeta.<locals>.Meta.__dir__cs|dkrdSt��|�S)NrErp)r9Z_Meta__getattr)rFr
)r�rrr:IszTPydocWithMetaClasses.test_virtualClassAttributeWithOneMeta.<locals>.Meta.__getattr__)rrrrGr:r;rr)r�rr<Fsr<c@seZdZdS)zIPydocWithMetaClasses.test_virtualClassAttributeWithOneMeta.<locals>.ClassN)rrrrrrr�ClassMsrH)r@)r,)	rArrr��"expected_virtualattribute_pattern1rr�r!rK)rFr<rHr,r�r^rMrrr�%test_virtualClassAttributeWithOneMetaAsz:PydocWithMetaClasses.test_virtualClassAttributeWithOneMetacs�Gdd�dt��Gdd�dt��G��fdd�d���}Gdd�d�d	�}Gd
d�d||d	�}d}}t�}tj|d
�}||�tt}|����}	|�||	�t�}tj|d
�}||�t	t}
|����}|�|
|�dS)Ncs$eZdZdd�Z�fdd�Z�ZS)zIPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta1cSsddddgS)Nr�rrrar)rFrrrrG\szQPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta1.__dir__cs|dkrdSt��|�S)Nrar`)r9r:)rFr
)r�rrr:^szUPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta1.__getattr__)rrrrGr:r;rr)r�r�Meta1[srKcs$eZdZdd�Z�fdd�Z�ZS)zIPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta2cSsddddgS)Nr�rr�twor)rFrrrrGcszQPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta2.__dir__cs|dkrdSt��|�S)NrLrR)r9r:)rFr
)r�rrr:eszUPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta2.__getattr__)rrrrGr:r;rr)r�r�Meta2bsrMcs*eZdZ��fdd�Z�fdd�Z�ZS)zIPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta3cs,tttddddg��|���|����S)Nr�rr�three)�listr3�setrG)rF)rKrMrrrGjszQPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta3.__dir__cs|dkrdSt��|�S)NrNr�)r9r:)rFr
)r�rrr:nszUPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Meta3.__getattr__)rrrrGr:r;r)rKrM)r�r�Meta3isrQc@seZdZdS)zJPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Class1N)rrrrrrr�Class1rsrR)r@c@seZdZdS)zJPydocWithMetaClasses.test_virtualClassAttributeWithTwoMeta.<locals>.Class2N)rrrrrrr�Class2tsrSF)r,)
rArrr��"expected_virtualattribute_pattern2rr�r!rK�"expected_virtualattribute_pattern3)rFrQrRrSZfail1Zfail2r,r�Zexpected_text1Zresult1Zexpected_text2Zresult2r)rKrMr�%test_virtualClassAttributeWithTwoMetaVs$	z:PydocWithMetaClasses.test_virtualClassAttributeWithTwoMetacCs`Gdd�dt�}Gdd�d|d�}t�}tj|d�}||�tt}|����}|�||�dS)Nc@seZdZdd�ZdS)z.PydocWithMetaClasses.test_buggy_dir.<locals>.McSsddddgS)Nr�r�missing�herer)rFrrrrG�sz6PydocWithMetaClasses.test_buggy_dir.<locals>.M.__dir__N)rrrrGrrrr�M�srYc@seZdZdZdS)z.PydocWithMetaClasses.test_buggy_dir.<locals>.Czpresent!N)rrrrXrrrrr��sr�)r@)r,)	rArrr��!expected_missingattribute_patternrr�r!rK)rFrYr�r,r�r^rMrrr�test_buggy_dir�sz#PydocWithMetaClasses.test_buggy_dirc	Cs4t��}t�d�WdQRX|��}|�d|�dS)Nz	enum.Enumz
class Enum)r
rr�r�rf)rFr�r�rrr�test_resolve_false�sz'PydocWithMetaClasses.test_resolve_falseN)rrrr�r�rlr�r�r�rSrDrJrVr[r\rrrrr7(s"+r7c@sFeZdZdd�Zddd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dS)�TestInternalUtilitiescCsNt��}|j|_tj�|jd�|_|�|j	�t�
�|_}dtj|g|_
dS)NZnonexistentr)�tempfileZTemporaryDirectoryr
�argv0dirr0r1r��argv0r�Zcleanup�getcwd�
abs_curdir�curdir�curdir_spellings)rFZtmpdirrbrrrr��szTestInternalUtilities.setUpNcCs|dkr|j}t�||�S)N)r`r�_get_revised_path)rF�
given_pathr`rrrre�sz'TestInternalUtilities._get_revised_pathcCs@tj��}x0|jD]&}x t|�|��D]}|�|�q&WqW|S)N)rlr1�copyrd�range�countr�)rF�
clean_path�spelling�__rrr�_get_starting_path�s

z(TestInternalUtilities._get_starting_pathcCs*|��}|jg|}|�|�|�|�dS)N)rmrbrKre)rFrj�
expected_pathrrr�,test_sys_path_adjustment_adds_missing_curdir�szBTestInternalUtilities.test_sys_path_adjustment_adds_missing_curdircCsT|��}|jg|}|jg|}|�|�|�|�||jg}|�|�|�|�dS)N)rmrbr_rKre)rFrjrn�leading_argv0dir�trailing_argv0dirrrr�*test_sys_path_adjustment_removes_argv0_dir�sz@TestInternalUtilities.test_sys_path_adjustment_removes_argv0_dircsh�fdd�}���}�jg|}�jg|}��||�|�|�jg}�jg|}��||�|�dS)Ncs�j|tjd�S)N)r`)rerr )rf)rFrrre�sz\TestInternalUtilities.test_sys_path_adjustment_protects_pydoc_dir.<locals>._get_revised_path)rmr_rbrK)rFrerjrprnrqr)rFr�+test_sys_path_adjustment_protects_pydoc_dir�szATestInternalUtilities.test_sys_path_adjustment_protects_pydoc_dirc
Cs�|��}x�|jD]�}|j|d��r|g|}|�|�|��||g}|�|�|��|jg|}|�|�|��||jg}|�|�|��WdQRXqWdS)N)Zcurdir_spelling)rmrdZsubTestr�rer_)rFrjrkZleading_curdirZtrailing_curdirrprqrrr�5test_sys_path_adjustment_when_curdir_already_included�s

zKTestInternalUtilities.test_sys_path_adjustment_when_curdir_already_included)N)
rrrr�rermrorrrsrtrrrrr]�s
	r]c
Cs,ztj�ttttttt	t
�Wdt�XdS)N)r�r�Zrun_unittestrQr�r�r&r,r2r7r]rrrrr�	test_main�s
ru�__main__)Pr0rlrO�importlib.utilr�rTrr�r4rrHr6r��stringr^Ztest.supportr�r(r=rr�Zurllib.parserVZ	xml.etreerhZxml.etree.ElementTreer�Z	threading�ior�collectionsrZtest.support.script_helperrrrrrr	r
rrr
rrr�ZHAVE_DOCSTRINGSrBr!r\r�r]rXrYr�lineseprvr�rCrIrTrUrZr&r.r5r9r?ZTestCaser@rQr�r�r&r,r2r7r]rurrrrr�<module>s�,
T
{
			
		NcvA