
    daf                         d Z ddlZddlmZ  ej                  d      Z G d dej                        Zedk(  r ej                          yy)zTest script for the grp module.    N)import_helpergrpc                   *    e Zd Zd Zd Zd Zd Zd Zy)GroupDatabaseTestCasec                 2   | j                  t        |      d       | j                  |d   |j                         | j                  |j                  t               | j                  |d   |j
                         | j                  |j
                  t               | j                  |d   |j                         | j                  |j                  t               | j                  |d   |j                         | j                  |j                  t               y )N   r            )
assertEquallengr_nameassertIsInstancestr	gr_passwdgr_gidintgr_memlist)selfvalues     (/root/Python-3.12.4/Lib/test/test_grp.pycheck_valuez!GroupDatabaseTestCase.check_value   s     	UQ'q5==1emmS1q5??3eoos3q5<<0ellC0q5<<0ellD1    c                 \    t         j                         }|D ]  }| j                  |        y )N)r   getgrallr   )r   entrieses      r   test_valuesz!GroupDatabaseTestCase.test_values   s*    ,,. 	 AQ	 r   c                 >   t         j                         }t        |      dkD  r| j                  d       |D ]  }t         j	                  |j
                        }| j                  |       | j                  |j
                  |j
                         |j                  }|j                  d      s|j                  d      rt         j                  |      }| j                  |       | j                  |j                  j                         |j                                 y )Ni  z&huge group file, extended test skipped+-)r   r   r   skipTestgetgrgidr   r   r   r   
startswithgetgrnamlower)r   r   r   e2names        r   test_values_extendedz*GroupDatabaseTestCase.test_values_extended   s    ,,.w<$MMBC 	?Aahh'BR RYY199Ds#ts';d#BR  RZZ--/>	?r   c                 <   | j                  t        t        j                         | j                  t        t        j                  d       | j                  t        t        j                         | j                  t        t        j                  d       | j                  t        t        j
                  d       | j                  t        dt        j                  d       i }i }t        j                         D ]  \  }}}}|r|dk(  r|||<   |||<    t        |j                               }d}||   }	|	|v r{t        |	      }
t        t        |
            D ]8  }|
|   dk(  rd|
|<    n4|
|   d	k(  rt        t        |
|         d
z         |
|<    n |d
z   }	 ||   }	dj                  |
      }	|	|v r{| j                  t         t        j                  |	       d}||v r|dz  dz  }||v r| j                  t         t        j                  |       y # t        $ r Y iw xY w)NgQ	@*   nullza br!   r   zAZr	    i  r   i   )assertRaises	TypeErrorr   r$   r&   r   assertRaisesRegex
ValueErrorr   keysranger   chrord
IndexErrorjoinKeyError)r   bynamesbygidsnpgmemallnamesnameifakenamecharsifakegids                r   test_errorsz!GroupDatabaseTestCase.test_errors2   s   )S\\2)S\\48)S\\2)S\\26)S\\26z63<<J !lln 	NQ1cSGAJF1I		 'E?'!NE3u:& 8s?"E!H1X_"3uQx=1#45E!H 	'H wwu~H% '!( 	(CLL(; {g-G  	(CLL': " s   H 	HHc                    t         j                         }|s| j                  d       |d   d   }| j                  t        t         j
                  t        |             | j                  t        t         j
                  t        |             y )Nz	no groupsr   r
   )r   r   r#   r2   r3   r$   floatr   )r   r   gids      r   test_noninteger_gidz)GroupDatabaseTestCase.test_noninteger_gidd   s]    ,,.MM+&ajm)S\\5:>)S\\3s8<r   N)__name__
__module____qualname__r   r   r*   rI   rM    r   r   r   r   	   s    2 ?(0;d=r   r   __main__)
__doc__unittesttest.supportr   import_moduler   TestCaser   rN   mainrQ   r   r   <module>rY      sQ    %  & "m!!%(b=H-- b=J zHMMO r   