Edit File: main.cpython-36.pyc
3 � \8)������������������@���sl���d�Z�ddlZddlZddlZddlmZmZ�ddlmZ�dZ dZ dZd d ��Zdd��Z G�d d��de�ZeZdS�)zUnittest main program�����N����)�loader�runner)�installHandlerTa��Examples: %(prog)s test_module - run tests from test_module %(prog)s module.TestClass - run tests from module.TestClass %(prog)s module.Class.test_method - run specified test method %(prog)s path/to/test_file.py - run tests from test_file.py aF��Examples: %(prog)s - run default set of tests %(prog)s MyTestSuite - run suite 'MyTestSuite' %(prog)s MyTestCase.testSomething - run MyTestCase.testSomething %(prog)s MyTestCase - run all 'test*' test methods in MyTestCase c�������������C���sx���t�jj|��rt|�j��jd�rtt�jj|��rXt�jj|�t�j���}t�jj|�sP|jt�j �rT|�S�|}�|�d�d��j dd�j dd�S�|�S�)Nz.py�����\�.�/���)�os�path�isfile�lower�endswith�isabs�relpath�getcwd� startswith�pardir�replace)�nameZrel_path��r����%/usr/lib64/python3.6/unittest/main.py� _convert_name���s����r���c�������������C���s���dd��|�D��S�)Nc�������������S���s���g�|�]}t�|��qS�r���)r���)�.0r���r���r���r���� <listcomp>.���s����z"_convert_names.<locals>.<listcomp>r���)�namesr���r���r����_convert_names-���s����r���c���������������@���s����e�Zd�ZdZdZdZd�Z�Z�Z�Z Z dZddddej ddddddfdd�dd �Zdd d�Zdd ��Zdd��Zdd��Zdd��Zdd��Zdd��Zdd��Zddd�Zdd��ZdS�) �TestProgramzA command-line program that runs a set of tests; this is primarily for making test modules conveniently executable. Nr����__main__TF)� tb_localsc������������C���s����t�|t�r@t|�|�_x0|jd�dd���D�]} t|�j| �|�_q(W�n||�_|d�krTtj}||�_||�_ | |�_ ||�_| |�_||�_ |d�kr�tj�r�d|�_n||�_||�_||�_||�_tjj|d��|�_|�j|��|�j���d�S�)Nr���r����defaultr���)� isinstance�str� __import__�module�split�getattr�sys�argv�exit�failfast� catchbreak� verbosity�bufferr ����warnoptions�warnings�defaultTest� testRunner� testLoaderr���r����basename�progName� parseArgs�runTests)�selfr%���r1���r)���r2���r3���r*���r-���r+���r,���r.���r0���r ����partr���r���r����__init__;���s,���� zTestProgram.__init__c�������������C���s4���|rt�|��|�jd�kr|�j���|�j���tjd��d�S�)N����)�print�_discovery_parser�_initArgParsers�_print_helpr(���r*���)r8����msgr���r���r���� usageExita���s���� zTestProgram.usageExitc�������������O���sZ���|�j�d�kr6t|�jj����ttd|�ji���|�jj���n t|�jj����ttd|�ji���d�S�)N�prog) r%���r<����_main_parserZformat_help� MAIN_EXAMPLESr5���r=���� print_help�MODULE_EXAMPLES)r8����args�kwargsr���r���r���r?���i���s���� zTestProgram._print_helpc�������������C���s����|�j����|�jd�krpt|�dkrD|d�j��dkrD|�j|dd�����d�S�|�jj|dd���|���|�js�|�jg���d�S�n|�jj|dd���|���|�jr�t|�j�|�_ t dkr�d�|�_n6|�jd�kr�d�|�_ n$t|�jt �r�|�jf|�_ nt|�j�|�_ |�j���d�S�)Nr����discoverr;���r���)r>���r%����lenr���� _do_discoveryrC���� parse_args�testsr���� testNames�__name__r1���r"���r#����list�createTests)r8���r)���r���r���r���r6���r���s(���� zTestProgram.parseArgsc�������������C���s4���|�j�d�kr|�jj|�j�|�_n|�jj|�j�|�j�|�_d�S�)N)rN���r3���ZloadTestsFromModuler%����testZloadTestsFromNames)r8���r���r���r���rQ�������s���� zTestProgram.createTestsc�������������C���s$���|�j���}|�j|�|�_|�j|�|�_d�S�)N)�_getParentArgParser�_getMainArgParserrC����_getDiscoveryArgParserr=���)r8���Z parent_parserr���r���r���r>�������s����zTestProgram._initArgParsersc�������������C���s����t�jdd�}|jddddddd ��|jd ddddd d ��|jddddd��|�jd�krn|jdddddd��d|�_|�jd�kr�|jdddddd��d|�_|�jd�kr�|jdddddd��d|�_|S�)NF)Zadd_helpz-vz --verboser-���Zstore_constr;���zVerbose output)�dest�actionZconst�helpz-qz--quietr���zQuiet outputz--localsr ���� store_truez"Show local variables in tracebacks)rV���rW���rX���z-fz --failfastr+���zStop on first fail or errorz-cz--catchr,���z'Catch Ctrl-C and display results so farz-bz--bufferr.���z%Buffer stdout and stderr during tests)�argparse�ArgumentParser�add_argumentr+���r,���r.���)r8����parserr���r���r���rS�������s4���� zTestProgram._getParentArgParserc�������������C���s2���t�j|gd�}|�j|_|�j|_|jdddd��|S�)N)�parentsrM����*z?a list of any number of test modules, classes and test methods.)�nargsrX���)rZ���r[���r5���rB���r?���rE���r\���)r8����parentr]���r���r���r���rT�������s����zTestProgram._getMainArgParserc�������������C���s~���t�j|gd�}d|�j�|_d|_|jddddd��|jd d ddd��|jd dddd��x"dD�]}|j|dt�jt�jd��q\W�|S�)N)r^���z%s discoverzcFor test discovery all test modules must be importable from the top level directory of the project.z-sz--start-directory�startz*Directory to start discovery ('.' default))rV���rX���z-pz --pattern�patternz+Pattern to match tests ('test*.py' default)z-tz--top-level-directory�topz<Top level directory of project (defaults to start directory)�?)r`���r!���rX���)rb���rc���rd���)rZ���r[���r5���rB���Zepilogr\���ZSUPPRESS)r8���ra���r]����argr���r���r���rU�������s���� z"TestProgram._getDiscoveryArgParserc�������������C���sh���d|�_�d|�_d�|�_|d�k r:|�jd�kr,|�j���|�jj||���|d�krH|�jn|��}|j|�j�|�j|�j�|�_d�S�)Nr���ztest*.py) rb���rc���rd���r=���r>���rL���r3���rI���rR���)r8���r)����Loaderr���r���r���r���rK�������s���� zTestProgram._do_discoveryc�������������C���s����|�j�rt���|�jd�krtj|�_t|�jt�r�yVy"|�j|�j|�j|�j |�j |�jd�}W�n.�tk r|���|�j|�j|�j|�j |�j d�}Y�nX�W�q��tk r����|�j��}Y�q�X�n|�j}|j |�j�|�_|�jr�tj|�jj�����d�S�)N)r-���r+���r.���r0���r ���)r-���r+���r.���r0���)r,���r���r2���r���ZTextTestRunnerr"����typer-���r+���r.���r0���r ���� TypeErrorZrunrR����resultr*���r(���Z wasSuccessful)r8���r2���r���r���r���r7�������s.���� zTestProgram.runTests)N)N)rO���� __module__�__qualname__�__doc__r%���r-���r+���r,���r.���r5���r0���r=���r���ZdefaultTestLoaderr:���rA���r?���r6���rQ���r>���rS���rT���rU���rK���r7���r���r���r���r���r���1���s&���# r���)rm���r(���rZ���r�����r���r���Zsignalsr���Z __unittestrD���rF���r���r����objectr����mainr���r���r���r����<module>���s��� �T