ó ükWc@s ddlZddlZddlmZejdƒZejeedƒo[ejƒdkdƒdej fd„ƒYƒZ d „Z e d krœe ƒndS( i˙˙˙˙N(t test_supporttspwdtgeteuidisroot privileges requiredt TestSpwdRootcBseZd„Zd„ZRS(cCsDtjƒ}|j|tƒx!|D]}|j|tjƒq#WdS(N(RtgetspalltassertIsInstancetlistt struct_spwd(tselftentriestentry((s$/usr/lib/python2.7/test/test_spwd.pyt test_getspall s  cCs˜tjƒ}|s"|jdƒn|dj}tj|ƒ}|j|tjƒ|j|j|ƒ|j|j|dƒ|j|jt ƒ|j|j|dƒ|j|j t ƒ|j|j |dƒ|j|j t ƒ|j|j |dƒ|j|j t ƒ|j|j |dƒ|j|jt ƒ|j|j|dƒ|j|jt ƒ|j|j|dƒ|j|jt ƒ|j|j|d ƒ|j|jt ƒ|j|j|d ƒ|jtƒ}tjd ƒWdQX|jt |jƒd ƒ|jttjƒ|jttjdƒ|jttj|dƒtjr”yt|ƒ}Wntk rwq”X|jtj|ƒ|ƒndS( Nsempty shadow password databaseiiiiiiiiisinvalid user names'getspnam(): name not found'(RRtskipTesttsp_namtgetspnamRRt assertEqualtsp_pwdtstrt sp_lstchgtinttsp_mintsp_maxtsp_warntsp_inactt sp_expiretsp_flagt assertRaisestKeyErrort exceptiont TypeErrorRt have_unicodetunicodetUnicodeDecodeError(RR t random_nameR tcxt unicode_name((s$/usr/lib/python2.7/test/test_spwd.pyt test_getspnamsH    (t__name__t __module__R R$(((s$/usr/lib/python2.7/test/test_spwd.pyRs cCstjtƒdS(N(Rt run_unittestR(((s$/usr/lib/python2.7/test/test_spwd.pyt test_main:st__main__( tostunittestttestRt import_moduleRt skipUnlessthasattrRtTestCaseRR(R%(((s$/usr/lib/python2.7/test/test_spwd.pyts  $ 0