관리-도구
편집 파일: runner.cpython-311.pyc
� ���4�^#��������������������������d�Z�ddlmZ�ddlZddlZddlZddlZddlZddlZddl Z �ddl Z n #�e$�r�dZ Y�nw�xY�w �ddlZn #�e$�r�dZY�nw�xY�wddl Z ddlmZ�ddlmZ�ddlmZ�ddlmZ�ddlmZ�dd lmZ�dd lmZ�ddlmZ�ddlmZ�d ZdZ�e j����������������������pdZe�o �e��������������Zej��������� ��������������������ej���������!��������������������e"������������������������Z#e j$��������j%��������Z%dd�Z&�G�d��d������������Z'�G�d��de j(��������������������Z)�G�d��de j*��������������������Z+�G�d��de+������������Z,d d�Z-d��Z.d��Z/d��Z0e1dk����r�e0���������������dS�dS�)!aA�� Unit test runner, providing new features on top of unittest module: - colourized output - parallel run (UNIX only) - print failures/tracebacks on CTRL+C - re-run failed tests only (make test-failed) Invocation examples: - make test - make test-failed Parallel: - make test-parallel - make test-process ARGS=--parallel �����)�print_functionN)�hilite)�print_color)�term_supports_colors)�super)� CI_TESTING)�import_module_by_path)� print_sysinfo)� reap_children)�safe_rmpath����z.failed-tests.txt����Fc�����������������������|�|dk����rt�����������j��������nt�����������j��������}t����������rt ����������|�|||��������������d�S�t����������|�|��������������d�S�)N�red)�bold�file)r���)�sys�stderr�stdout� USE_COLORSr����print)�msg�colorr���r���s��� �u/builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib64/python3.11/site-packages/psutil/tests/runner.py�cprintr���>���sZ�������|�"�e�^�^�s�z�z��������C��T��5�5�5�5�5�5� �c������������c��������������������v�����e�Zd�ZeZdgZdej��������v�re���������������������g�d��������������d��Z d��Z d��Zd��Zd��Z d S�) � TestLoaderztest_memleaks.py�WHEELHOUSE_UPLOADER_USERNAME)ztest_osx.pyz test_linux.pyz test_posix.pyc������������������N���������fd�t����������j����������j��������������������D���������������S�)Nc������������������������g�|�]Z}|����������������������d�������������rC|���������������������d������������r.|�j��������v�5t����������j������������������������������j��������|��������������[S�)�test_�.py)� startswith�endswith� skip_files�os�path�join�testdir)�.0�x�selfs��� �r���� <listcomp>z,TestLoader._get_testmods.<locals>.<listcomp>O���sn��������*��*��*���<�<��(�(�*�-.�Z�Z��->�->�*�����(�(������T�\�1�-�-��)�(�(r���)r'����listdirr*���)r-���s���`r���� _get_testmodszTestLoader._get_testmodsN���s:�������*��*��*��*���D�L�1�1�*��*��*�� *r���c��������������#�������K����|�������������������������������������D�]f}t����������|������������}t����������|������������D�]E}t����������||������������}t ����������|t ����������������������rt ����������|t����������j��������������������r|V����F�gdS�)zgIterate over all test files in this directory and return all TestCase classes in them. N) r0���r ����dir�getattr� isinstance�type� issubclass�unittest�TestCase)r-���r(����mod�name�objs��� r����_iter_testmod_classesz TestLoader._iter_testmod_classesT���s�������������&�&�(�(�� �� �D�'��-�-�C��C���� �� ���c�4�(�(���c�4�(�(���"�3��(9�:�:���I�I�I�� � �� r���c�����������������������t����������j����������������������}|������������������������������������D�]&}t����������|������������}|���������������������|��������������'|S��N)r7���� TestSuiter<����loadTestsFromTestCase�addTest)r-����suiter;����tests��� r����allzTestLoader.all`���sR�������"�$�$���-�-�/�/�� �� �C�(��-�-�D��M�M�$������r���c����������������������t����������j����������������������}t����������j�����������������������������t ����������������������s|S�t ����������t ����������d������������5�}|����������������������������������������������������������������������}d�d�d��������������n#�1�swxY�w�Y���|D�]6}t�����������j ��������� ��������������������|������������}|���������������������|��������������7|S�)N�rt)r7���r?���r'���r(����isfile�FAILED_TESTS_FNAME�open�read�split�defaultTestLoader�loadTestsFromNamerA���)r-���rB����f�names�nrC���s��� r����last_failedzTestLoader.last_failedg���s��������"�$�$���w�~�~�0�1�1�� ��L� �$�d� +� +�� %�q��F�F�H�H�N�N�$�$�E� %�� %�� %�� %�� %�� %�� %�� %�� %�� %�� %����� %�� %�� %�� %��� �� �A��-�?�?��B�B�D��M�M�$������s����'B�B� Bc������������������������|����������������������d������������rBt����������j�����������������������������t����������j�����������������������������|������������������������d���������}t ����������j�����������������������������|������������S�)Nr#���r���)r%���r'���r(����splitext�basenamer7���rL���rM���)r-���r:���s��� r���� from_namezTestLoader.from_names���sW�������=�=����� ?��7�#�#�B�G�$4�$4�T�$:�$:�;�;�A�>�D��)�;�;�D�A�A�Ar���N)�__name__� __module__�__qualname__�HEREr*���r&���r'����environ�extendr0���r<���rD���rQ���rU�����r���r���r���r���G���s����������������G�$�%�J�%���3�3����K�K�K�L�L�L�*��*��*� �� �� ������ �� �� �B��B��B��B��Br���r���c��������������������6�������e�Zd�Zd��Zd��Zd��Zd��Z��fd�Z��xZS�)�ColouredResultc������������������f�����t�����������j�����������������������������|�|�������������t����������dd�������������d�S�)N�OK�green)r7���� TestResult� addSuccessr���)r-���rC���s��� r���rc���zColouredResult.addSuccess{���s1��������&�&�t�T�2�2�2��t�W�����r���c������������������l�����t�����������j�����������������������������|�||�������������t����������ddd��������������d�S�)N�ERRORr���T�r���)r7���rb����addErrorr����r-���rC����errs��� r���rg���zColouredResult.addError���s8��������$�$�T�4��5�5�5��w��D�)�)�)�)�)�)r���c������������������h�����t�����������j�����������������������������|�||�������������t����������dd�������������d�S�)N�FAILr���)r7���rb���� addFailurer���rh���s��� r���rl���zColouredResult.addFailure����s3��������&�&�t�T�3�7�7�7��v�u�����r���c�����������������������t�����������j�����������������������������|�||�������������t����������d|�����������������������������������z��d�������������d�S�)Nzskipped: %s�brown)r7���rb����addSkipr����strip)r-���rC����reasons��� r���ro���zColouredResult.addSkip����s@��������#�#�D�$��7�7�7��}�v�|�|�~�~�-�w�7�7�7�7�7r���c������������������x������t����������|d|dk�����������������}t���������������������������������������������||�������������d�S�)Nr���re���rf���)r���r����printErrorList)r-����flavour�errors� __class__s��� �r���rs���zColouredResult.printErrorList����s<���������%�g��.@�A�A�A�� �����w��/�/�/�/�/r���) rV���rW���rX���rc���rg���rl���ro���rs���� __classcell__�rv���s���@r���r^���r^���y���st��������������������*��*��*������8��8��8�0��0��0��0��0��0��0��0��0r���r^���c��������������������d�������e�Zd�ZdZerenej��������Z��fd�Z ��fd�Z d��Zd��Z��fd�Z d��Zd��Z��xZS�) �ColouredTextRunnerz� A coloured text runner which also prints failed tests on KeyboardInterrupt and save failed tests in a file so that they can be re-run. c������������������`�������t������������������������j��������|i�|���t������������������������|�_��������d�S�r>���)r����__init__�set� failed_tnames)r-����args�kwargsrv���s��� �r���r|���zColouredTextRunner.__init__����s1������������$�)�&�)�)�)� �U�U����r���c������������������\������t�����������������������������������������������������������|�_��������|�j��������S�r>���)r����_makeResult�result)r-���rv���s��� �r���r����zColouredTextRunner._makeResult����s$���������g�g�)�)�+�+����{�r���c�����������������������|�j���������rSt����������t����������d������������5�}|�j���������D�]}|���������������������|dz����������������� �d�d�d��������������d�S�#�1�swxY�w�Y���d�S�d�S�)N�wt� )r~���rI���rH����write)r-���rN����tnames��� r����_write_last_failedz%ColouredTextRunner._write_last_failed����s���������� *��(�$�/�/�� *�1�!�/��*��*�E��G�G�E�D�L�)�)�)�)�*� *�� *�� *�� *�� *�� *�� *�� *�� *�� *�� *�� *����� *�� *�� *�� *�� *�� *� *�� *s����#A�A�Ac�����������������������|������������������������������������sF|j��������|j��������z���D�]8}|d��������������������������������������������}|�j�����������������������������|��������������7d�S�d�S�)Nr���)� wasSuccessfulru����failures�idr~����add)r-���r�����tr����s��� r����_save_resultzColouredTextRunner._save_result����sm�������#�#�%�%�� .��]�V�_�4�� .�� .���!���� � ���"�&�&�u�-�-�-�-� .�� .� .�� .r���c����������������������� �t���������������������������������������������|������������}|����������������������|�������������|S�#�t����������t����������f$�r5�|�j��������j��������}|������������������������������������t����������j ��������d�������������w�xY�w)Nr���) r����runr�����KeyboardInterrupt� SystemExit�runnerr�����printErrorsr����exit)r-���rB���r����rv���s��� �r����_runzColouredTextRunner._run����s�������� ��W�W�[�[��'�'�F�� ���f�%�%�%��M�� �"�:�.�� �� �� ��[�'�F���� � � ��(�1�+�+�� ���s ����!;��ABc�����������������������|r<t����������ddd��������������t����������t�����������������������t����������j��������d�������������d�S�t����������ddd��������������|�������������������������������������t����������j��������d�������������d�S�) N�SUCCESSra���Trf���r����FAILEDr���r���)r���r���rH���r���r����r����)r-����successs��� r����_exitzColouredTextRunner._exit����sw�������� ��9�g�D�1�1�1�1��*�+�+�+��H�Q�K�K�K�K�K��8�U��.�.�.�.��#�#�%�%�%��H�Q�K�K�K�K�Kr���c������������������~�����|�����������������������|������������}|����������������������|������������������������������������������������d�S�r>���)r����r����r����)r-���rB���r����s��� r���r����zColouredTextRunner.run����s7���������5�!�!��� � �6�'�'�)�)�*�*�*�*�*r���)rV���rW���rX����__doc__r���r^���r7����TextTestResult�resultclassr|���r����r����r����r����r����r����rw���rx���s���@r���rz���rz�������s��������������������%/�K�.�.�H�4K�K�#��#��#��#��#����������*��*��*�.��.��.� �� �� �� �� ������+��+��+��+��+��+��+r���rz���c��������������������@�����e�Zd�Zed����������������Zed����������������Zd��ZdS�)�ParallelRunnerc�������������������������fd�}t�����������j���������|t����������j���������_��������t����������j��������t����������������������}t����������j��������|�|������������S�)Nc������������������R��������|�|������������}t����������j��������|j���������������������|S�r>���)�atexit�register�close)�fd�mode�kwds�stream�orig_fdopens��� �r����fdopenz+ParallelRunner._parallelize.<locals>.fdopen����s+������� �[��T�*�*�F��O�F�L�)�)�)��Mr���)r'���r�����concurrencytest�fork_for_tests�NWORKERS�ConcurrentTestSuite)rB���r�����forkerr����s��� @r����_parallelizezParallelRunner._parallelize����sS������� �� �� �� �� ���i��$*���!� �/��9�9���2�5�&�A�A�Ar���c�����������������������t����������j����������������������}t����������j����������������������}|�D�]�}|�����������������������������������dk����r�t����������|t�����������j��������������������r|j��������d���������j��������}n/t����������|t�����������j��������������������r|}nt����������d|z���������������t����������|dd������������r|� ��������������������|���������������|� ��������������������|���������������||fS�)Nr���zcan't recognize type %r� _serialrunF) r7���r?����countTestCasesr4����_testsrv���r8���� TypeErrorr3���rA���)rB����serial�parallelrC���� test_classs��� r����_split_suitezParallelRunner._split_suite����s��������#�%�%���%�'�'���� '�� '�D��"�"�$�$��)�)���D�(�"4�5�5�� B�!�[��^�5� � ��D�(�"3�4�4�� B�!� � �� 9�D� @�A�A�A��z�<��7�7�� '����t�$�$�$�$�� � ��&�&�&�&���!�!r���c����������������������|�����������������������|������������\��}}|����������������������|������������}t����������dt����������z��dd��������������t ����������j����������������������}|����������������������|������������}t ����������j����������������������|z ��}t ����������j���������������������������������������������������������}t ����������j ��������|d�������������\��}} | r!t����������d| z��d�������������t�������������������������t ����������j����������������������}|����������������������|������������} t ����������j����������������������|z ��}|�����������������������������������s,|�����������������������������������d k����r|� �����������������������������������t����������t����������|j��������|j��������|j��������f������������\��}} }t����������t����������| j��������| j��������| j��������f������������\��}}}t'����������t)����������j��������d |j��������|| ||| j��������||||f z���������������������������t'����������d|j��������| j��������z���||z���t����������fz���������������|�����������������������������������o| �����������������������������������}|����������������������|�������������d�S�)Nz(starting parallel tests using %s workersra���Trf���r���)�timeoutzalive processes %sr���r���a=�� +----------+----------+----------+----------+----------+----------+ | | total | failures | errors | skipped | time | +----------+----------+----------+----------+----------+----------+ | parallel | %3s | %3s | %3s | %3s | %.2fs | +----------+----------+----------+----------+----------+----------+ | serial | %3s | %3s | %3s | %3s | %.2fs | +----------+----------+----------+----------+----------+----------+ z&Ran %s tests in %.3fs using %s workers)r����r����r���r�����timer�����psutil�Process�children� wait_procsr���r����r����r�����map�lenr����ru����skippedr����textwrap�dedent�testsRunr����)r-���rB���� ser_suite� par_suiter�����par�par_elapsed�orphans�gone�alive�ser�ser_elapsed� par_fails�par_errs� par_skips� ser_fails�ser_errs� ser_skips�oks��� r���r����zParallelRunner.run����sd�����#�0�0��7�7�� �9��%�%�i�0�0� �� �9�H�D��T� #�� #�� #�� #��I�K�K���i�i� �"�"���i�k�k�A�o����.�"�"�+�+�-�-���'���;�;�;���e��� ��'�%�/��7�7�7��O�O�O�� �I�K�K���i�i� �"�"���i�k�k�A�o���� � �"�"�� �y�'?�'?�'A�'A�A�'E�'E��O�O����),�S�3�<�36�:�36�;�3@��*A��*A�&� �8�Y��*-�S�3�<�36�:�36�;�3@��*A��*A�&� �8�Y�� �h�o�����<��H�i���<��H�i��N� N�� O�� O�� P�� P�� P�� �6��L�3�<�'��{�)B�H�:N��N�� O�� O�� O� � � � � � 8�S�%6�%6�%8�%8��� � �2�����r���N)rV���rW���rX����staticmethodr����r����r����r\���r���r���r����r��������sZ���������������B��B���\�B���"��"���\�"�&.��.��.��.��.r���r����c������������������������d��}|�rWt�����������j��������r�|d�������������n?t������������|d�������������n,t����������dk����r�|d�������������nt ����������t �����������������������S�t ����������t �����������������������S�)Nc������������������,�����t����������|�dz���d�������������d�S�)Nz Running serial tests instead.r���)r���)r���s��� r����warnzget_runner.<locals>.warn��s�������s�5�5�u�=�=�=�=�=r���z$Can't run parallel tests on Windows.z(concurrencytest module is not installed.r���zOnly 1 CPU available.)� verbosity)r�����WINDOWSr����r����r����� VERBOSITYrz���)r����r����s��� r���� get_runnerr������s�������>��>��>���7��>�� 7��D�7�8�8�8�8� � $��D�;�<�<�<�<� ��]�]��D�(�)�)�)�)�!�I�6�6�6�6�� �2�2�2�2r���c�����������������������t���������������������������������������������|�������������}t������������������������}|���������������������|�������������d�S�r>���)r���rU���r����r����)r:���rB���r����s��� r���� run_from_namer����,��s:�������L�L�"�"�4�(�(�E� �\�\�F� �J�J�u�����r���c�������������������L�����t�����������j��������j��������������������������������������������d�S�r>���)r�����_psplatform�cext�set_testingr\���r���r����setupr����2��s"����������'�'�)�)�)�)�)r���c������������������������t�������������������������d}�t����������j��������|�d�������������}|���������������������dddd��������������|���������������������d ddd ��������������|�����������������������������������\��}}|j��������st ����������t�����������������������t������������������������}|rWt����������|������������dk����r(|� �����������������������������������t����������j��������d������������S�|� ��������������������|d���������������������}n0|j��������r|�����������������������������������}n|�����������������������������������}t����������rt!�������������������������t#����������|j��������������������}|���������������������|�������������d�S�) Nz*python3 -m psutil.tests [opts] [test-name]zrun unit tests)�usage�descriptionz --last-failed� store_trueFzonly run last failed tests)�action�default�helpz --parallelzrun tests in parallelr���r���)r�����optparse�OptionParser� add_option� parse_argsrQ���r���rH���r���r�����print_usager���r����rU���rD���r���r ���r����r����r����)r�����parser�optsr����loaderrB���r����s��� r����mainr����9��se����� �G�G�G�8�E� � "��<L� M� M� M�F� ���o�)�5�7����9��9��9�����l�)�5�2����4��4��4���"�"�$�$�J�D�$����(��&�'�'�'���\�\�F��� ��t�9�9�q�=�=���� � � ��8�A�;�;���$�$�T�!�W�-�-�E�E� � ����"�"�$�$���� � ����������� �� � &� &�F� �J�J�u�����r����__main__)FN)F)2r����� __future__r���r����r����r'���r���r����r����r7����ctypes�ImportErrorr����r�����psutil._commonr���r���r����psutil._compatr����psutil.testsr���r ���r ���r���r���r����rH���� cpu_countr����r���r(����abspath�dirname�__file__rY���rL���r@���r���r���r����r^����TextTestRunnerrz���r����r����r����r����r����rV���r\���r���r����<module>r�����s������� �&��%��%��%��%��%�� � � � ������� � � � �� � � � ������������������M�M�M�M��������� �F�F�F��������������������O�O�O������� � � ��!��!��!��!��!��!��&��&��&��&��&��&��/��/��/��/��/��/�� �� �� �� �� �� ��#��#��#��#��#��#��.��.��.��.��.��.��&��&��&��&��&��&��&��&��&��&��&��&��$��$��$��$��$��$�� � �(����6����"����^� 6� 4� 4� 6� 6� � �w���r�w���x�0�0�1�1�� �2�H����������/B��/B��/B��/B��/B��/B��/B��/B�d0��0��0��0��0�X�,��0��0��0�.4+��4+��4+��4+��4+��0��4+��4+��4+�nR��R��R��R��R�'��R��R��R�j3��3��3��3� �����*��*��*������D��z����D�F�F�F�F�F���s����+��5�5�>��A�A