PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  ]c@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z ddl m Z ddl mZddlmZmZddlmZmZmZmZddlmZddlmZdd lmZyddlZ Wne!k r-dZ nXd ej#fd YZ$d e%fd YZ&de%fdYZ'dZ(da)dZ*dZ+dej,fdYZ-de%fdYZ.dZ/e0dZ1e0dZ2dZ3dZdZ4dS(iN(t import_module(t call_command(t connections(tSimpleTestCasetTestCase(tsetup_databasestsetup_test_environmenttteardown_databasestteardown_test_environment(t OrderedSet(tRemovedInDjango21Warning(tStringIOtDebugSQLTextTestResultcBs>eZdZdZdZdZdZdZRS(cCsEtjd|_|jjtjtt|j|||dS(Nsdjango.db.backends(tloggingt getLoggertloggertsetLeveltDEBUGtsuperR t__init__(tselftstreamt descriptionst verbosity((s6/usr/lib/python2.7/site-packages/django/test/runner.pyRscCsNt|_tj|j|_|jj|jtt|j |dS(N( R tdebug_sql_streamR t StreamHandlerthandlerRt addHandlerRR t startTest(Rttest((s6/usr/lib/python2.7/site-packages/django/test/runner.pyR#s cCsutt|j||jj|j|jrq|jjd|j j |jj |j j |j ndS(Ni(RR tstopTestRt removeHandlerRtshowAllRtseekRtwritetreadtwritelnt separator2(RR((s6/usr/lib/python2.7/site-packages/django/test/runner.pyR)s  cCsQtt|j|||jjd|jd|jjf|jd {} You should re-run this test with --parallel=1 to reproduce the failure with a cleaner failure message. (tformat(RRtsubtestt pickle_exc((s6/usr/lib/python2.7/site-packages/django/test/runner.pyt_print_unpicklable_subtestescCsy|j|Wntk r}t|d}tj|ddddd}t|}tj|ddddd}tdkrdj||GHndj|||GHnXdS(NiiKtinitial_indents tsubsequent_indents {} failed: {} Unfortunately, tracebacks cannot be pickled, making it impossible for the parallel test runner to handle this exception cleanly. In order to see the traceback, you should install tblib: pip install tblib sL {} failed: {} Unfortunately, the exception it raised cannot be pickled, making it impossible for the parallel test runner to handle it cleanly. Here's the error encountered while trying to pickle the exception: {} You should re-run this test with the --parallel=1 option to reproduce the failure and get a correct traceback. (RAt ExceptiontreprttextwraptfillR3R4RB(RRR(texctoriginal_exc_txttpickle_exc_txt((s6/usr/lib/python2.7/site-packages/django/test/runner.pytcheck_picklableus  cCsAy|j|Wn)tk r<}|j|||nXdS(N(RARHRE(RRRCRL((s6/usr/lib/python2.7/site-packages/django/test/runner.pytcheck_subtest_picklables cCs|jr|jndS(N(R9tstop(R((s6/usr/lib/python2.7/site-packages/django/test/runner.pytstop_if_failfasts cCs t|_dS(N(tTrueR:(R((s6/usr/lib/python2.7/site-packages/django/test/runner.pyRQscCs|jjddS(Nt startTestRun(s startTestRun(R7tappend(R((s6/usr/lib/python2.7/site-packages/django/test/runner.pyRTscCs|jjddS(Nt stopTestRun(s stopTestRun(R7RU(R((s6/usr/lib/python2.7/site-packages/django/test/runner.pyRVscCs,|jd7_|jjd|jfdS(NiR(R;R7RUR<(RR((s6/usr/lib/python2.7/site-packages/django/test/runner.pyRscCs|jjd|jfdS(NR(R7RUR<(RR((s6/usr/lib/python2.7/site-packages/django/test/runner.pyRscCs:|j|||jjd|j|f|jdS(NR&(ROR7RUR<RR(RRR(((s6/usr/lib/python2.7/site-packages/django/test/runner.pyR&scCs:|j|||jjd|j|f|jdS(NR)(ROR7RUR<RR(RRR(((s6/usr/lib/python2.7/site-packages/django/test/runner.pyR)scCs\|dk rX|j|||j|||jjd|j||f|jndS(Nt addSubTest(R4RORPR7RUR<RR(RRRCR(((s6/usr/lib/python2.7/site-packages/django/test/runner.pyRWs  cCs|jjd|jfdS(Nt addSuccess(R7RUR<(RR((s6/usr/lib/python2.7/site-packages/django/test/runner.pyRXscCs |jjd|j|fdS(NtaddSkip(R7RUR<(RRtreason((s6/usr/lib/python2.7/site-packages/django/test/runner.pyRYscCsVtdkr&|d|ddf}n|j|||jjd|j|fdS(NiitaddExpectedFailure(R3R4ROR7RUR<(RRR(((s6/usr/lib/python2.7/site-packages/django/test/runner.pyR[s cCs'|jjd|jf|jdS(NtaddUnexpectedSuccess(R7RUR<RR(RR((s6/usr/lib/python2.7/site-packages/django/test/runner.pyR\s(R0R1t__doc__RtpropertyR<RARERORPRRRQRTRVRRR&R)RWRXRYR[R\(((s6/usr/lib/python2.7/site-packages/django/test/runner.pyR2Es(     /            tRemoteTestRunnercBs,eZdZeZeddZdZRS(s Run tests and record everything but don't display anything. The implementation matches the unpythonic coding style of unittest2. cCs%||_|dk r!||_ndS(N(R9R4t resultclass(RR9R`((s6/usr/lib/python2.7/site-packages/django/test/runner.pyRs  cCs3|j}tj||j|_|||S(N(R`tunittesttregisterResultR9(RRtresult((s6/usr/lib/python2.7/site-packages/django/test/runner.pytruns     N( R0R1R]R2R`R8R4RRd(((s6/usr/lib/python2.7/site-packages/django/test/runner.pyR_scCsGttdsdSyttjdSWntk rBtjSXdS(sL Default number of test processes when using the --parallel option. tforkitDJANGO_TEST_PROCESSESN(thasattrtostinttenvirontKeyErrortmultiprocessingt cpu_count(((s6/usr/lib/python2.7/site-packages/django/test/runner.pytdefault_test_processess  icCsv|j|jd7_|jaWdQXxDtD]<}t|}|jjt}|jj||jq2WdS(s Switch to databases dedicated to this worker. This helper lives at module-level because of the multiprocessing module's requirements. iN( tget_locktvaluet _worker_idRtcreationtget_test_db_clone_settingst settings_dicttupdatetclose(tcountertaliast connectionRt((s6/usr/lib/python2.7/site-packages/django/test/runner.pyt _init_workers   cCs=|\}}}}|d|}|j|}||jfS(s Run a suite of tests with a RemoteTestRunner and return a RemoteTestResult. This helper lives at module-level and its arguments are wrapped in a tuple because of the multiprocessing module's requirements. R9(RdR7(targst runner_classtsubsuite_indextsubsuiteR9trunnerRc((s6/usr/lib/python2.7/site-packages/django/test/runner.pyt _run_subsuite*stParallelTestSuitecBs5eZdZeZeZeZe dZ dZ RS(s Run a series of tests in parallel in several processes. While the unittest module's documentation implies that orchestrating the execution of tests is the responsibility of the test runner, in practice, it appears that TestRunner classes are more concerned with formatting and displaying test results. Since there are fewer use cases for customizing TestSuite than TestRunner, implementing parallelization at the level of the TestSuite improves interoperability with existing custom test runners. A single instance of a test runner can still collect results from all tests without being aware that they have been run in parallel. cCs8t||_||_||_tt|jdS(N(tpartition_suite_by_caset subsuitest processesR9RRR(RtsuiteRR9((s6/usr/lib/python2.7/site-packages/django/test/runner.pyRLs  cCstjtjd}tjd|jd|jjd|g}gt|j D]$\}}|j |||j f^qO}|j |j j|}xtr||jr|jPny|jdd\}} Wn2tjk rqntk r|jPnXt|j |} xa| D]Y} | d} t|| d } | d krPqn| | d}| d}| ||qWqW|j|S( s/ Distribute test cases across workers. Return an identifier of each test case with its result in order to use imap_unordered to show results as soon as they're available. To minimize pickling errors when getting results from workers: - pass back numeric indexes in self.subsuites instead of tests - make tracebacks picklable with tblib, if available Even with tblib, errors may still occur for dynamically created exception classes such Model.DoesNotExist which cannot be unpickled. iRt initializertinitargsttimeoutg?iiN(RltValuetctypestc_inttPoolRt init_workert__func__t enumerateRR|R9timap_unorderedt run_subsuiteRSR:t terminatetnextt TimeoutErrort StopIterationRvtlisttgetattrR4tjoin(RRcRwtpooltindexR~R{t test_resultsR}R7tteststeventt event_nameRR((s6/usr/lib/python2.7/site-packages/django/test/runner.pyRdRs<    7          ( R0R1R]RzRRRR_R|R8RRd(((s6/usr/lib/python2.7/site-packages/django/test/runner.pyR7s  tDiscoverRunnerc BseZdZejZeZejZ ej Z e e fZdddeeeeeedddd ZedZdZdddZdZdZd Zd Zd Zd Zd ZdZddZRS(sB A Django test runner that uses unittest2 test discovery. iic Ks||_||_||_||_||_||_||_||_| |_| |_ t | pfg|_ t | p{g|_ dS(N( tpatternt top_levelRt interactiveR9tkeepdbtreverset debug_modet debug_sqltparalleltsetttagst exclude_tags(RRRRRR9RRRRRRRtkwargs((s6/usr/lib/python2.7/site-packages/django/test/runner.pyRs          cCsi|jdddddddddd |jd d dddd dd dd|jdddddddtdd|jdddddddtdd|jddddddtdd|jdddddddtdd|jddd d!d"dd#d$td%td&d'dd(|jd)dd*dd+dd,|jd-dd*dd.dd/dS(0Ns-ts--top-level-directorytactiontstoretdestRtdefaultthelps,Top level of project for unittest discovery.s-ps --patternRstest*.pys0The test matching pattern. Defaults to test*.py.s-ks--keepdbt store_trueRs#Preserves the test DB between runs.s-rs --reverseRsReverses test cases order.s --debug-modeRsSets settings.DEBUG to True.s-ds --debug-sqlRs%Prints logged SQL queries on failure.s --parallelRtnargst?ittypetconsttmetavartNs+Run tests using up to N parallel processes.s--tagRURsBRun only tests with the specified tag. Can be used multiple times.s --exclude-tagRsDDo not run tests with the specified tag. Can be used multiple times.(t add_argumentR4R8RiRn(tclstparser((s6/usr/lib/python2.7/site-packages/django/test/runner.pyt add_argumentss8cKstd|jtjdS(Ntdebug(RRRatinstallHandler(RR((s6/usr/lib/python2.7/site-packages/django/test/runner.pyRsc Ks|j}|pdg}|p$g}i}|jdk rL|j|d|D]6}|j}d}tjj|}tjj|s|j j |}ntjj |rU|j rU|} x`t rGtjj | d} tjj| rCtjj| } | | kr7Pn| } qnPqW| |dsF         "  (   Q