<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]V                 @   sj  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z d d l m	 Z	 m
 Z
 m Z d Z e j d e j  Z Gd d   d e	 j  Z d	 d
   Z d d   Z d d   Z d d   Z d d   Z Gd d   d e  Z e   Z d d d  Z e j d d  Z d e j e
 j d d  Z d e j e
 j d d  Z d S)    N)fnmatch   )casesuiteutilTz[_a-z]\w*\.py$c                   s:   e  Z d  Z d Z   f d d   Z   f d d   Z   S)_FailedTestNc                s#   | |  _  t t |   j |  d  S)N)
_exceptionsuperr   __init__)selfZmethod_name	exception)	__class__ +/opt/alt/python35/lib64/python3.5/loader.pyr
      s    	z_FailedTest.__init__c                s;   |   j  k r% t t    j |  S  f d d   } | S)Nc                  s     j   d  S)N)r   r   )r   r   r   testFailure!   s    z,_FailedTest.__getattr__.<locals>.testFailure)_testMethodNamer	   r   __getattr__)r   namer   )r   )r   r   r      s    z_FailedTest.__getattr__)__name__
__module____qualname__r   r
   r   r   r   )r   r   r      s   r   c             C   s/   d |  t  j   f } t |  t |  | |  S)Nz#Failed to import test module: %s
%s)	traceback
format_exc_make_failed_testImportError)r   
suiteClassmessager   r   r   _make_failed_import_test&   s    r   c             C   s&   d t  j   f } t |  | | |  S)NzFailed to call load_tests:
%s)r   r   r   )r   r   r   r   r   r   r   _make_failed_load_tests+   s    r   c             C   s"   t  |  |  } | | f  | f S)N)r   )
methodnamer   r   r   testr   r   r   r   0   s    r   c             C   sX   t  j t |   d d    } |  | i } t d t  j f |  } | | |   f  S)Nc             S   s   d  S)Nr   )r   r   r   r   testSkipped5   s    z'_make_skipped_test.<locals>.testSkippedZModuleSkipped)r   skipstrtypeTestCase)r   r   r   r!   ZattrsZ	TestClassr   r   r   _make_skipped_test4   s    !r&   c             C   s7   |  j    j d  r# |  d  d  St j j |   d S)Nz	$py.class	   r   i)lowerendswithospathsplitext)r+   r   r   r   _jython_aware_splitext<   s    r-   c                   s   e  Z d  Z d Z e e j  Z e j	 Z
 d Z   f d d   Z d d   Z d d d d	  Z d d
 d  Z d d d  Z d d   Z d d d d  Z d d   Z d d   Z d d   Z d d   Z d d d  Z d d d  Z   S) 
TestLoaderr    Nc                s,   t  t |   j   g  |  _ t   |  _ d  S)N)r	   r.   r
   errorsset_loading_packages)r   )r   r   r   r
   L   s    	zTestLoader.__init__c             C   sh   t  | t j  r t d   |  j |  } | rL t | d  rL d g } |  j t | |   } | S)NzYTest cases should not be derived from TestSuite. Maybe you meant to derive from TestCase?ZrunTest)
issubclassr   	TestSuite	TypeErrorgetTestCaseNameshasattrr   map)r   testCaseClassZtestCaseNamesZloaded_suiter   r   r   loadTestsFromTestCaseS   s    	z TestLoader.loadTestsFromTestCasepatternc            O   s  t  |  d k s d | k r> t j d t  | j d d   t  |  d k ru t  |  d } t d j |    t  |  d k r t |  d } t d j |    g  } xZ t |  D]L } t	 | |  } t
 | t  r t | t j  r | j |  j |   q Wt	 | d d   }	 |  j |  } |	 d  k	 ry |	 |  | |  SWnW t k
 r}
 z7 t | j |
 |  j  \ } } |  j j |  | SWYd  d  }
 ~
 Xn X| S)Nr   Zuse_load_testsz(use_load_tests is deprecated and ignoredr   zCloadTestsFromModule() takes 1 positional argument but {} were givenz=loadTestsFromModule() got an unexpected keyword argument '{}'
load_tests)lenwarningswarnDeprecationWarningpopr4   formatsorteddirgetattr
isinstancer$   r2   r   r%   appendr9   r   	Exceptionr   r   r/   )r   moduler:   argskwsZ	complainttestsr   objr;   e
error_caseerror_messager   r   r   loadTestsFromModulea   s4    	!zTestLoader.loadTestsFromModulec             C   s  | j  d  } d \ } } | d  k r | d  d   } x} | r y  d j |  } t |  } PWq: t k
 r | j   } t | |  j  \ } } | s |  j j |  | SYq: Xq: W| d d   } | }	 x | D] }
 y |	 t	 |	 |
  } }	 Wq t
 k
 r} z| t	 |	 d d   d  k	 rA| d  k	 rA|  j j |  | St |
 | |  j d t j   f  \ } } |  j j |  | SWYd  d  } ~ Xq Xq Wt |	 t j  r|  j |	  St |	 t  rt |	 t j  r|  j |	  St |	 t j  r[t | t  r[t | t j  r[| d } | |  } t t	 | |  t j  sq|  j | g  Sn t |	 t j  rq|	 St |	  r|	   } t | t j  r| St | t j  r|  j | g  St d |	 | f   n t d |	   d  S)	N.r   __path__zFailed to access attribute:
%sz"calling %s returned %s, not a testz$don't know how to make test from: %s)NN)splitjoin
__import__r   r@   r   r   r/   rF   rD   AttributeErrorr   r   r   rE   types
ModuleTyperP   r$   r2   r   r%   r9   FunctionTyper   r3   callabler4   )r   r   rH   partsrN   rO   Z
parts_copymodule_nameZnext_attributerL   partparentrM   instr    r   r   r   loadTestsFromName   sl    		!
	zTestLoader.loadTestsFromNamec                s)      f d d   | D }  j  |  S)Nc                s"   g  |  ] }  j  |     q Sr   )ra   ).0r   )rH   r   r   r   
<listcomp>   s   	 z1TestLoader.loadTestsFromNames.<locals>.<listcomp>)r   )r   namesrH   Zsuitesr   )rH   r   r   loadTestsFromNames   s    zTestLoader.loadTestsFromNamesc             C   sY   | |  j  d d  } t t | t |    } |  j rU | j d t j |  j   | S)Nc             S   s"   |  j  |  o! t t | |    S)N)
startswithr[   rD   )Zattrnamer8   prefixr   r   r   isTestMethod   s    z1TestLoader.getTestCaseNames.<locals>.isTestMethodkey)testMethodPrefixlistfilterrC   sortTestMethodsUsingsort	functools
cmp_to_key)r   r8   rh   ZtestFnNamesr   r   r   r5      s    	zTestLoader.getTestCaseNamesztest*.pyc             C   s  d } | d  k r- |  j  d  k	 r- |  j  } n | d  k rE d } | } t j j |  } | t j k ry t j j d |  | |  _  d } d } g  } t j j t j j |   r t j j |  } | | k rt j j t j j | d   } ny t	 |  Wn t
 k
 rd } YnXt j | } | j d  d }	 y% t j j t j j | j   } Wnt k
 ry | j }
 Wn t k
 rd  }
 Yn X|
 r@|
 j d  k r@|
 j d  k	 r|d } x | j D]j } | r| j |  rq| j | j j d t j j   d |  _  | j |  j | | d d  qWn< | j t j k rdt d  d   n t d j |   d   Yn X| r| s|  j |	  |  _  t j j |  n t j j |  | rt
 d	 |   | st |  j | |   } |  j  |  S)
NFTr   z__init__.pyrQ   	namespacez2Can not use builtin modules as dotted module namesz$don't know how to discover from {!r}z%Start directory is not importable: %r)!_top_level_dirr*   r+   abspathsysinsertisdirisfilerU   rV   r   modulesrT   dirname__file__rW   __spec__loadersubmodule_search_locationsrR   rf   r   replacesepextend_find_testsbuiltin_module_namesr4   rA    _get_directory_containing_moduleremoverk   r   )r   	start_dirr:   Ztop_level_dirZset_implicit_topZis_not_importableis_namespacerK   Z
the_moduleZtop_partspecr+   r   r   r   discover   sv    	%			zTestLoader.discoverc             C   ss   t  j | } t j j | j  } t j j |  j   j d  r_ t j j	 t j j	 |   St j j	 |  Sd  S)Nz__init__.py)
rt   rx   r*   r+   rs   rz   basenamer(   rf   ry   )r   r]   rH   	full_pathr   r   r   r   X  s
    !z+TestLoader._get_directory_containing_modulec             C   s_   | |  j  k r d St t j j |   } t j j | |  j   } | j t j j d  } | S)NrQ   )rr   r-   r*   r+   normpathrelpathr~   r   )r   r+   Z_relpathr   r   r   r   _get_name_from_pathd  s    zTestLoader._get_name_from_pathc             C   s   t  |  t j | S)N)rV   rt   rx   )r   r   r   r   r   _get_module_from_namep  s    
z TestLoader._get_module_from_namec             C   s   t  | |  S)N)r   )r   r+   r   r:   r   r   r   _match_patht  s    zTestLoader._match_pathFc       
      c   s   |  j  |  } | d k r` | |  j k r` |  j | | |  \ } } | d  k	 rV | V| s` d  St t j |   } x | D] } t j j | |  }	 |  j |	 | |  \ } } | d  k	 r | V| r| |  j  |	  } |  j j |  z |  j	 |	 | |  Ed  HWd  |  j j
 |  Xq| Wd  S)NrQ   )r   r1   _find_test_pathrB   r*   listdirr+   rU   addr   discard)
r   r   r:   rq   r   rK   Zshould_recursepathsr+   r   r   r   r   r   x  s*    zTestLoader._find_testsc             C   s0  t  j j |  } t  j j |  rt j |  s7 d S|  j | | |  sP d	 S|  j |  } y |  j |  } Wnz t	 j
 k
 r } z t | | |  j  d f SWYd  d  } ~ Xq,t | |  j  \ } }	 |  j j |	  | d f SYq,Xt  j j t | d |   }
 t t  j j |
   } t t  j j |   } | j   | j   k rt  j j |  } t t  j j |   } t  j j |  } d } t | | | | f   |  j | d | d f Sn`t  j j |  r(| rt  j j t  j j | d   rd
 Sd  } d  } |  j |  } y |  j |  } Wnz t	 j
 k
 r|} z t | | |  j  d f SWYd  d  } ~ Xq,t | |  j  \ } }	 |  j j |	  | d f SYq,Xt | d d   } |  j j |  z9 |  j | d | } | d  k	 r| d f S| d f SWd  |  j j |  Xn d Sd  S)NFrz   zW%r module incorrectly imported from %r. Expected %r. Is this module globally installed?r:   z__init__.pyr;   T)NF)NF)NF)NF)r*   r+   r   rw   VALID_MODULE_NAMEmatchr   r   r   r   ZSkipTestr&   r   r   r/   rF   rs   rD   r-   realpathr(   ry   r   rP   rv   rU   r1   r   r   )r   r   r:   rq   r   r   rH   rM   rN   rO   Zmod_filer   Zfullpath_noextZ
module_dirZmod_nameZexpected_dirmsgr;   rK   packager   r   r   r     sl    +	"+
zTestLoader._find_test_path)r   r   r   rj   staticmethodr   three_way_cmprm   r   r3   r   rr   r
   r9   rP   ra   re   r5   r   r   r   r   r   r   r   r   r   )r   r   r.   B   s"   	(Nn"r.   c             C   s.   t    } | | _ |  | _ | r* | | _ | S)N)r.   rm   rj   r   )rg   	sortUsingr   r|   r   r   r   _makeLoader  s    				r   c             C   s   t  | |  j |   S)N)r   r5   )r8   rg   r   r   r   r   r5     s    r5   r    c             C   s   t  | | |  j |   S)N)r   r9   )r8   rg   r   r   r   r   r   	makeSuite  s    r   c             C   s   t  | | |  j |   S)N)r   rP   )rH   rg   r   r   r   r   r   findTestCases  s    r   ) r*   rert   r   rX   ro   r=   r    r   r   r   Z
__unittestcompile
IGNORECASEr   r%   r   r   r   r   r&   r-   objectr.   ZdefaultTestLoaderr   r   r5   r3   r   r   r   r   r   r   <module>   s2    			