ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     3

  \(                 @   sx   d dl Z ddlmZ ddlmZ dZdd ZG dd	 d	eZG d
d deZG dd deZ	dd Z
G dd deZdS )    N   )case)utilTc             C   s   t | |dd }|  d S )Nc               S   s   d S )N r   r   r   &/usr/lib64/python3.6/unittest/suite.py<lambda>   s    z!_call_if_exists.<locals>.<lambda>)getattr)parentattrfuncr   r   r   _call_if_exists   s    r   c               @   sl   e Zd ZdZf fddZdd Zdd Zdd	 Zd
d Zdd Z	dd Z
dd Zdd Zdd Zdd ZdS )BaseTestSuiteTc             C   s   g | _ d| _| j| d S )Nr   )_tests_removed_testsaddTests)selftestsr   r   r   __init__   s    zBaseTestSuite.__init__c             C   s   dt j| jt| f S )Nz<%s tests=%s>)r   strclass	__class__list)r   r   r   r   __repr__   s    zBaseTestSuite.__repr__c             C   s    t || jstS t| t|kS )N)
isinstancer   NotImplementedr   )r   otherr   r   r   __eq__   s    zBaseTestSuite.__eq__c             C   s
   t | jS )N)iterr   )r   r   r   r   __iter__"   s    zBaseTestSuite.__iter__c             C   s(   | j }x| D ]}|r||j 7 }qW |S )N)r   countTestCases)r   Zcasestestr   r   r   r   %   s
    
zBaseTestSuite.countTestCasesc             C   sL   t |stdjt|t|tr<t|tjt	fr<td| j
j| d S )Nz{} is not callablezNTestCases and TestSuites must be instantiated before passing them to addTest())callable	TypeErrorformatreprr   type
issubclassr   ZTestCase	TestSuiter   append)r   r   r   r   r   addTest,   s    zBaseTestSuite.addTestc             C   s.   t |trtdx|D ]}| j| qW d S )Nz0tests must be an iterable of tests, not a string)r   strr!   r(   )r   r   r   r   r   r   r   6   s    

zBaseTestSuite.addTestsc             C   s:   x4t | D ](\}}|jrP || | jr
| j| q
W |S )N)	enumerate
shouldStop_cleanup_removeTestAtIndex)r   resultindexr   r   r   r   run<   s    zBaseTestSuite.runc             C   sN   y| j | }W n tk
r"   Y n(X t|dr@|  j|j 7  _d | j |< d S )Nr   )r   r!   hasattrr   r   )r   r/   r   r   r   r   r-   E   s    
z BaseTestSuite._removeTestAtIndexc             O   s   | j ||S )N)r0   )r   argskwdsr   r   r   __call__S   s    zBaseTestSuite.__call__c             C   s   x| D ]}|j   qW d S )N)debug)r   r   r   r   r   r5   V   s    
zBaseTestSuite.debugN)__name__
__module____qualname__r,   r   r   r   r   r   r(   r   r0   r-   r4   r5   r   r   r   r   r      s   
	r   c               @   sN   e Zd ZdddZdd Zdd Zdd	 Zd
d Zdd Zdd Z	dd Z
dS )r&   Fc             C   s   d}t |dddkrd |_}xt| D ]\}}|jr8P t|r| j|| | j|| | j|| |j|_	t |jdds(t |ddrq(|s|| n|j
  | jr(| j| q(W |r| jd | | j| d|_|S )NF_testRunEnteredT_classSetupFailed_moduleSetUpFailed)r   r9   r*   r+   _isnotsuite_tearDownPreviousClass_handleModuleFixture_handleClassSetUpr   _previousTestClassr5   r,   r-   _handleModuleTearDown)r   r.   r5   ZtopLevelr/   r   r   r   r   r0   f   s0    


zTestSuite.runc             C   s   t  }| j|d d S )NT)_DebugResultr0   )r   r5   r   r   r   r5      s    zTestSuite.debugc       	       C   s   t |dd }|j}||krd S |jr(d S t |ddr8d S y
d|_W n tk
rV   Y nX t |dd }|d k	rt|d zdy
|  W nT tk
r } z8t|tr d|_t	j
|}d| }| j||| W Y d d }~X nX W d t|d X d S )	Nr@   __unittest_skip__F
setUpClass_setupStdoutTzsetUpClass (%s)_restoreStdout)r   r   r;   r:   r!   r   	Exceptionr   rB   r   r   _addClassOrModuleLevelException)	r   r   r.   previousClasscurrentClassrD   e	className	errorNamer   r   r   r?      s2    




$zTestSuite._handleClassSetUpc             C   s"   d }t |dd }|d k	r|j}|S )Nr@   )r   r7   )r   r.   previousModulerI   r   r   r   _get_previous_module   s
    zTestSuite._get_previous_modulec       	       C   s   | j |}|jj}||krd S | j| d|_ytj| }W n tk
rP   d S X t|dd }|d k	rt	|d zZy
|  W nJ t
k
r } z.t|tr d|_d| }| j||| W Y d d }~X nX W d t	|d X d S )NFsetUpModulerE   TzsetUpModule (%s)rF   )rO   r   r7   rA   r;   sysmodulesKeyErrorr   r   rG   r   rB   rH   )	r   r   r.   rN   ZcurrentModulemodulerP   rK   rM   r   r   r   r>      s,    




$zTestSuite._handleModuleFixturec             C   sL   t |}t|dd }|d k	r8t|tjr8||t| n|j|tj  d S )NaddSkip)	_ErrorHolderr   r   r   ZSkipTestr)   ZaddErrorrQ   exc_info)r   r.   Z	exceptionrM   errorrU   r   r   r   rH      s
    z)TestSuite._addClassOrModuleLevelExceptionc              C   s   | j |}|d krd S |jr d S ytj| }W n tk
rB   d S X t|dd }|d k	rt|d zTy
|  W nD tk
r } z(t|t	r d| }| j
||| W Y d d }~X nX W d t|d X d S )NtearDownModulerE   ztearDownModule (%s)rF   )rO   r;   rQ   rR   rS   r   r   rG   r   rB   rH   )r   r.   rN   rT   rY   rK   rM   r   r   r   rA      s(    



$zTestSuite._handleModuleTearDownc       	      C   s   t |dd }|j}||krd S t |ddr.d S t |ddr>d S t |ddrNd S t |dd }|d k	rt|d z^y
|  W nN tk
r } z2t|tr tj|}d| }| j||| W Y d d }~X nX W d t|d	 X d S )
Nr@   r:   Fr;   rC   tearDownClassrE   ztearDownClass (%s)rF   )	r   r   r   rG   r   rB   r   r   rH   )	r   r   r.   rI   rJ   rZ   rK   rL   rM   r   r   r   r=      s,    



$z TestSuite._tearDownPreviousClassN)F)r6   r7   r8   r0   r5   r?   rO   r>   rH   rA   r=   r   r   r   r   r&   \   s   

! r&   c               @   sP   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d Zdd Z	dd Z
dd ZdS )rV   Nc             C   s
   || _ d S )N)description)r   r[   r   r   r   r     s    z_ErrorHolder.__init__c             C   s   | j S )N)r[   )r   r   r   r   id  s    z_ErrorHolder.idc             C   s   d S )Nr   )r   r   r   r   shortDescription   s    z_ErrorHolder.shortDescriptionc             C   s   d| j f S )Nz<ErrorHolder description=%r>)r[   )r   r   r   r   r   #  s    z_ErrorHolder.__repr__c             C   s   | j  S )N)r\   )r   r   r   r   __str__&  s    z_ErrorHolder.__str__c             C   s   d S )Nr   )r   r.   r   r   r   r0   )  s    z_ErrorHolder.runc             C   s
   | j |S )N)r0   )r   r.   r   r   r   r4   .  s    z_ErrorHolder.__call__c             C   s   dS )Nr   r   )r   r   r   r   r   1  s    z_ErrorHolder.countTestCases)r6   r7   r8   ZfailureExceptionr   r\   r]   r   r^   r0   r4   r   r   r   r   r   rV     s   
rV   c             C   s&   yt |  W n tk
r    dS X dS )NTF)r   r!   )r   r   r   r   r<   4  s
    r<   c               @   s   e Zd ZdZdZdZdS )rB   NF)r6   r7   r8   r@   r;   r+   r   r   r   r   rB   =  s   rB   )rQ    r   r   Z
__unittestr   objectr   r&   rV   r<   rB   r   r   r   r   <module>   s   L 3&	