ó {G_Tc@ssddlZddlmZddlZd ZejZdejfd„ƒYZd „Z e d kroe ƒndS( i˙˙˙˙N(t test_supporttalphatbetat candidatetfinalt FutureTestcBseZd„Zd„ZRS(cCs™t}xnttƒD]`}tt|dƒ}|dk rt|tjƒr|j||kd|ƒ|j|ƒqqW|j t |ƒdd|ƒdS(Ns(%r should have been in all_feature_namesis"all_feature_names has too much: %r( tfeaturestdirt __future__tgetattrtNonet isinstancet_Featuret assertTruetremovet assertEqualtlen(tselftgiven_feature_namestnametobj((s0/usr/local/lib/python2.7/test/test___future__.pyt test_names s  csçxàtD]Ĝ}tt|ƒ}|jƒ}|jƒ}|j‰|j‰‡‡fd†}||dƒ|dk r”||dƒˆ||kdƒnˆt|dƒdƒt ddd |j ƒˆt t|dƒt ƒd ƒqWdS( Ncsĉˆt|tƒd|ƒˆt|ƒdd|ƒ|\}}}}}ˆt|tƒd|ƒˆt|tƒd|ƒˆt|tƒd|ƒˆt|tƒd|ƒˆ|tkd|ƒˆt|tƒd |ƒdS( Ns%s isn't tupleis%s isn't 5-tuples%s major isn't ints%s minor isn't ints%s micro isn't ints%s level isn't strings!%s level string has unknown values%s serial isn't int(R ttupleRtintt basestringt GOOD_SERIALS(ttRtmajortminortmicrotleveltserial(tate(s0/usr/local/lib/python2.7/test/test___future__.pytcheck"s   toptionalt mandatorys8optional not less than mandatory, and mandatory not Nonet compiler_flags(feature is missing a .compiler_flag attrtstexecs.compiler_flag isn't int( RR RtgetOptionalReleasetgetMandatoryReleaseR RR thasattrtcompileR%R R(RtfeaturetvalueR#R$R"((R R!s0/usr/local/lib/python2.7/test/test___future__.pyttest_attributess"          (t__name__t __module__RR.(((s0/usr/local/lib/python2.7/test/test___future__.pyR s cCstjtƒdS(N(Rt run_unittestR(((s0/usr/local/lib/python2.7/test/test___future__.pyt test_main=st__main__(RRRsfinal( tunittestttestRRRtall_feature_namesRtTestCaseRR2R/(((s0/usr/local/lib/python2.7/test/test___future__.pyts   4