ó {G_Tc@sÁdZddlmZddlZddlZddlmZddlmZmZm Z m Z ddl Z dej fd„ƒYZ dej fd „ƒYZd „Zed kr½eƒndS( sTest cases for traceback moduleiÿÿÿÿ(tStringION(treload(t run_unittestt is_jythontErrort cpython_onlytTracebackCasescBs˜eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„ZRS(cCs;y |ƒWn |k r-}tj||ƒSXtd‚dS(Nscall did not raise exception(t tracebacktformat_exception_onlyt ValueError(tselftfunctexctvalue((s//usr/local/lib/python2.7/test/test_traceback.pytget_exception_formats  cCstdddƒdS(Nsdef fact(x): return x! t?texec(tcompile(R ((s//usr/local/lib/python2.7/test/test_traceback.pytsyntax_error_with_caretscCstdddƒdS(Ns1 + RR(R(R ((s//usr/local/lib/python2.7/test/test_traceback.pytsyntax_error_with_caret_2scCsddl}dS(Niÿÿÿÿ(ttest.badsyntax_nocaret(R ttest((s//usr/local/lib/python2.7/test/test_traceback.pytsyntax_error_without_caretscCstdddƒdS(Nsdef spam(): print 1 print 2RR(R(R ((s//usr/local/lib/python2.7/test/test_traceback.pytsyntax_error_bad_indentation"scCstdddƒdS(Ns print(2)RR(R(R ((s//usr/local/lib/python2.7/test/test_traceback.pytsyntax_error_bad_indentation2%scCs|j|jtƒ}|jt|ƒdkƒ|j|djƒdkƒ|jd|dƒ|j|djdƒ|djdƒkƒ|j|jtƒ}|jd|dƒ|j|dj dƒdkƒ|j|djdƒ|djdƒkƒdS( Niis return x!t^it!s t+( RRt SyntaxErrort assertTruetlentstriptassertIntfindRtcount(R terr((s//usr/local/lib/python2.7/test/test_traceback.pyt test_caret(s  -   cCsYtr dS|j|jtƒ}|jt|ƒdkƒ|j|djƒdkƒdS(Niis[x for x in x] = x(RRRRRRR(R R#((s//usr/local/lib/python2.7/test/test_traceback.pyt test_nocaret6s   cCs|j|jtƒ}|jt|ƒdkƒ|j|djƒdkƒ|jd|dƒ|j|djdƒ|djdƒkƒdS(Niisprint 2Rit2(RRtIndentationErrorRRRR R!(R R#((s//usr/local/lib/python2.7/test/test_traceback.pyttest_bad_indentation?s   c Cs!ddl}ddl}ddl}tj}|jƒ}ztjjd|ƒ|jj|dƒ}t|dƒdIJdtj kr”tj d=nddl }y|j ƒWn!t k rÑt jtjƒnX|jdƒt|dƒdIJt|ƒy|j ƒWn;tk rGt jtjƒdd}|j|d ƒnXWd|tj(x3|j|ƒD]"} |j|jj|| ƒƒqfW|j|ƒX|j|jtƒ} |jt| ƒdƒ|j| d jƒd ƒ|jd | d ƒ|j| d jdƒ| d jd ƒƒdS(Niÿÿÿÿistest_bug737473.pytws! def test(): raise ValueErrorttest_bug737473is* def test(): raise NotImplementedErrorsraise NotImplementedErrorisprint(2)Ritp(tosttempfilettimetsystpathtmkdtemptinserttjointopentmodulesR*RR Rt extract_tbt exc_tracebacktsleepRtNotImplementedErrort assertEqualtlistdirtunlinktrmdirRRR'RRR R!( R R,R-R.t savedpathttestdirttestfileR*tsrctfR#((s//usr/local/lib/python2.7/test/test_traceback.pyR*GsD$              cCs5tƒ}tj|j|ƒ}|j|dgƒdS(NsKeyboardInterrupt (tKeyboardInterruptRRt __class__R:(R tetlst((s//usr/local/lib/python2.7/test/test_traceback.pyttest_base_exception{s cCsJd}tj|dƒ}|jt|ƒdƒ|j|d|dƒdS(NsString Exceptioniis (RRtNoneR:R(R tstr_typeR#((s//usr/local/lib/python2.7/test/test_traceback.pyttest_string_exception1‘scCsXd}d}tj||ƒ}|jt|ƒdƒ|j|d|d|dƒdS(NsString Exceptions String Valueiis: s (RRR:R(R RIt str_valueR#((s//usr/local/lib/python2.7/test/test_traceback.pyttest_string_exception2—s cCsudtfd„ƒY}tj||ƒƒ}|jt|ƒdƒd|j}|j|d|jd|dƒdS(NtXcBseZd„ZRS(cSs dddS(Nii((R ((s//usr/local/lib/python2.7/test/test_traceback.pyt__str__ s(t__name__t __module__RN(((s//usr/local/lib/python2.7/test/test_traceback.pyRMŸsisis: s (t ExceptionRRR:RRO(R RMR#RK((s//usr/local/lib/python2.7/test/test_traceback.pyt%test_format_exception_only_bad__str__žs  cCs)tjddƒ}|j|dgƒdS(NsNone (RRRHR:(R R#((s//usr/local/lib/python2.7/test/test_traceback.pyttest_without_exception§scCsrtdƒ}tjt|ƒ|ƒ}|j|dgƒtdƒ}tjt|ƒ|ƒ}|j|dgƒdS(NsÿsAssertionError: ÿ uésAssertionError: \xe9 (tAssertionErrorRRttypeR:(R R#tlines((s//usr/local/lib/python2.7/test/test_traceback.pyt test_unicode«s   (RORPRRRRRRR$R%R(R*RGRJRLRRRSRW(((s//usr/local/lib/python2.7/test/test_traceback.pyR s          4    tTracebackFormatTestscBseZed„ƒZRS(c Csddlm}ytdƒ‚Wndtk r†tjƒ\}}}ddjtj|ƒƒ}tƒ}|||ƒ|j ƒ}n Xt dƒ‚|j ||ƒ|j ƒ}|j t |ƒdƒ|\} } } |j| jdƒƒ|j| jd ƒƒ|j| jd ƒƒdS( Niÿÿÿÿ(ttraceback_printtblahs#Traceback (most recent call last): ts&unable to create test traceback stringit Tracebacks Files raise(t _testcapiRYtKeyErrorR/texc_infoR3Rt format_tbRtgetvalueRR:t splitlinesRRt startswith( R RYttype_R ttbt traceback_fmttfile_t python_fmtttb_linestbannertlocationt source_line((s//usr/local/lib/python2.7/test/test_traceback.pyttest_traceback_format·s$     (RORPRRm(((s//usr/local/lib/python2.7/test/test_traceback.pyRXµscCstttƒdS(N(RRRX(((s//usr/local/lib/python2.7/test/test_traceback.pyt test_mainÒst__main__(t__doc__RR/tunittesttimpRttest.test_supportRRRRRtTestCaseRRXRnRO(((s//usr/local/lib/python2.7/test/test_traceback.pyts  " ©