관리-도구
편집 파일: test_daemon.cpython-39.pyc
a ����ť�fE(����������������������@���sZ��d�dl�Z�d�dlZd�dlZd�dlZd�dlZd�dlZd�dlmZmZm Z m Z mZmZm Z mZmZmZmZmZmZmZmZ�d�dlZejdd���Zejdd���Zdd��Zd d ��Zdd��Zd d��Zdd��Zdd��Zdd��Z dd��Z!dd��Z"dd��Z#dd��Z$dd��Z%dd ��Z&d!d"��Z'd#d$��Z(d%d&��Z)d'd(��Z*d)d*��Z+d+d,��Z,e�j-d-k�rBe.Z/ne0Z/d.d/��Z1d0d1��Z2dS�)2�����N)�booted�is_fifo�_is_fifo� is_socket� _is_socket�is_socket_inet�_is_socket_inet�is_socket_unix�_is_socket_unix�is_socket_sockaddr�_is_socket_sockaddr�is_mq�_is_mq� listen_fds�notifyc��������������� ���c���sJ���z d�V��W�n:�t�yD�}��z"|�jtjkr.t������W�Y�d�}�~�n d�}�~�0�0�d�S��N)�OSError�errnoZENOSYS�pytest�skip)�e��r����>/usr/lib64/python3.9/site-packages/systemd/test/test_daemon.py�skip_enosys���s���� r���c�����������������c���sL���t��|��}z"|V��W�|d�����|d�����n|d�����|d�����0�d�S�)Nr�������)�socketZ socketpair�close)Zfamily�pairr���r���r����closing_socketpair���s���� �r���c�������������������C���s*���t�j�d�rt��s&J��nt��dv�s&J��d�S�)Nz/run/systemd/system>���FT)�os�path�existsr���r���r���r���r����test_booted&���s����r"���c�����������������C���sJ���|���d�j}t�|��t�|tjtjB��}t|d��s8J��t||�sFJ��d�S�)N� test.fifo) �join�strpath�posix�mkfifor����open�O_RDONLY� O_NONBLOCKr���)�tmpdirr ����fdr���r���r���� test__is_fifo.���s ���� r-���c�����������������C���sN���|���d�}|�d��|j}t�|tjtjB��}t|d��r<J��t||�rJJ��d�S�)Nr#����boo)r$����writer%���r���r(���r)���r*���r����r+����filer ���r,���r���r���r����test__is_fifo_file6���s���� r2���c�����������������C���s����|���d�j}t�t���tdd��r&J��W�d�����n1�s:0����Y��t�t���td|�r^J��W�d�����n1�sr0����Y��d�S��Nr#������)r$���r%���r����raisesr���r����r+���r ���r���r���r����test__is_fifo_bad_fd?���s ����,r7���c�����������������C���sr���|���d�j}t�|��t�|tjtjB��}t�|d�}t |d��sDJ��t ||�sRJ��t |d��s`J��t ||�snJ��d�S�)Nr#����r) r$���r%���r&���r'���r���r(���r)���r*����fdopenr���)r+���r ���r,���r1���r���r���r����test_is_fifoH���s���� r:���c�����������������C���sv���|���d�}|�d��|j}t�|tjtjB��}t�|d�}t|d��rHJ��t||�rVJ��t|d��rdJ��t||�rrJ��d�S�)Nr#���r.���r8���) r$���r/���r%���r���r(���r)���r*���r9���r���r0���r���r���r����test_is_fifo_fileS���s���� r;���c�����������������C���s����|���d�j}t�t���tdd��r&J��W�d�����n1�s:0����Y��t�t���td|�r^J��W�d�����n1�sr0����Y��d�S�r3���)r$���r%���r���r5���r���r���r6���r���r���r����test_is_fifo_bad_fd_���s ����,r<���c�������������� ���C���sF���z t�|��W�S��ty@�}�z|jtjks*J��W�Y�d�}~dS�d�}~0�0�d�S��NF)r ���r���r����EBADF��arg�errorr���r���r���� is_mq_wrapperh���s ���� rB���c�������������� ���C���sF���z t�|��W�S��ty@�}�z|jtjks*J��W�Y�d�}~dS�d�}~0�0�d�S�r=���)r���r���r���r>���r?���r���r���r����_is_mq_wrapperp���s ���� rC���c��������������� ���C���sR��t�tj���0}�|�D��]}t|�r$J��t|�r0J��t|�r<J��t����t|d�rRJ��W�d�����n1�sf0����Y��|���}t|�r�J��t|�r�J��t|�r�J��t����t|d�r�J��W�d�����n1�s�0����Y��t |�r�J��t |�r�J��t|�r�J��t��� �t|d��rJ��W�d�����q1��s"0����Y��qW�d�����n1��sD0����Y��d�S�)Nz127.0.0.1:2000) r���r����AF_UNIXr���rB���r���r���r����filenor���rC���r���r����r����sockr,���r���r���r����test_no_mismatchx���s$���� ,,rH���c������������������C���sv��t�tj���T}�|�D��]<}||���fD�]�}t|�s4J��t|tj�sDJ��t|tj�rTJ��t|tjtj�shJ��t|tjtj�r|J��t���&�t |dtjdd�r�J��W�d�����q$1�s�0����Y��q$t |�s�J��t |tj�s�J��t |tj�r�J��t |tjtj�s�J��t |tjtj��rJ��t���(�t|dtjdd��r0J��W�d�����q1��sF0����Y��qW�d�����n1��sh0����Y��d�S�)Nz8.8.8.8:2000r���)r���r���rD���rE���r����AF_INET�SOCK_STREAM� SOCK_DGRAMr���r���r���r����r���rG���r@���r���r���r����test_is_socket����s"���� 6rM���c������������������C���s��t��t�tj�����}�|��d��|����\}}d�|�}dD��]�}|�|����fD��]�}t���"�t |dtj �slJ��W�d�����n1�s�0����Y��t���&�t |d|�tj �s�J��W�d�����n1�s�0����Y��t���&�t |d|�|d�s�J��W�d�����n1�s�0����Y��t���(�t |d|�dd��s"J��W�d�����n1��s80����Y��t���*�t |d|�|�d��rdJ��W�d�����n1��sz0����Y��t�t ���t |ddd��W�d�����n1��s�0����Y��t���$�t |d tj ��r�J��W�d�����n1��s�0����Y��t���$�t |dtj��rJ��W�d�����qL1��s,0����Y��qLt�t ���t|dd d��W�d�����n1��sh0����Y��t���$�t|d tj ��r�J��W�d�����n1��s�0����Y��t���$�t|dtj��r�J��W�d�����n1��s�0����Y��|��d��q:W�d�����n1��s0����Y��d�S�)N)� 127.0.0.1r���z:{})r���r���rN���)� listeningr4���i@��)Zflowinfoz129.168.11.11:23r�������)� contextlib�closingr���rI����bindZgetsockname�formatrE���r���r���rJ���r���r5���� ValueErrorrK���r���Zlisten)rG���Zaddr�portrO���r@���r���r���r����test_is_socket_sockaddr����s:���� 0448:.46.44rW���c������������������C���s����t�tj���}�|�D�]�}|���}t|�s(J��t|tj�s8J��t|tj�rHJ��t|tjtj�s\J��t|tjtj�rpJ��t|�s|J��t|tj�s�J��t|tj�r�J��t|tjtj�s�J��t|tjtj�rJ��qW�d�����n1�s�0����Y��d�S�r���)r���r���rD���rE���r���rI���rJ���rK���rF���r���r���r����test__is_socket����s����rX���c������������������C���s����t�tj��h}�|�D�]R}||���fD�]@}t|�s0J��t|dd�r@J��t|tj�sPJ��t|tj�r J��q qW�d�����n1�sx0����Y��d�S�)N� /no/such/path)r ���)r���r���rD���rE���r ���rJ���rK���rL���r���r���r����test_is_socket_unix����s����rZ���c������������������C���s~���t�tj��`}�|�D�]J}|���}t|�s(J��t|ddd�r:J��t|tj�sJJ��t|tj�rJ��qW�d�����n1�sp0����Y��d�S�)Nr���r4���rY���)r���r���rD���rE���r ���rJ���rK���rF���r���r���r����test__is_socket_unix����s����r[���c�������������������C���sF���t��d��t��d��t��g�ks"J��td�g�ks2J��td�g�ksBJ��d�S�)N� LISTEN_FDS� LISTEN_PIDTF)r����unsetenvr���r���r���r���r����test_listen_fds_no_fds����s ���� r_���c�������������������C���sV���dt�jd<�tt�����t�jd<�td�g�d�ks0J��td�g�d�ksDJ��t��g�ksRJ��d�S�)N�3r\���r]���F)������������T�r����environ�str�getpidr���r���r���r���r����test_listen_fds����s ���� rh���c�������������������C���sP���dt�jd<�tt�����t�jd<�td�dgks.J��t��dgks>J��t��g�ksLJ��d�S�)N�1r\���r]���Fra���rd���r���r���r���r����test_listen_fds_default_unset����s ���� rj���c�������������������C���s����t�j�dd���td�du�sJ��t���$�tdg�d�du�s:J��W�d�����n1�sN0����Y��tdddgd�du�spJ��tdt����d�du�s�J��tdt����d d �du�s�J��d�S�)N� NOTIFY_SOCKET�READY=1F� FDSTORE=1��fdsr���������pid�r����rr���ro���)r���re����popr���r���rg���r���r���r���r����test_notify_no_socket��s����2rv���)ra���c���������������� ���C���sP��dt�jd<�t�t���td��W�d�����n1�s20����Y��t�t��B�t����tdg�d��W�d�����n1�sp0����Y��W�d�����n1�s�0����Y��t�t�� �tdddgd��W�d�����n1�s�0����Y��t�t�� �tdt����d��W�d�����n1��s0����Y��t�t��"�tdt����d d ��W�d�����n1��sB0����Y��d�S�)Nz /dev/nullrk���rl���rm���rn���r���rp���rq���rs���rt���)r���re���r���r5����connection_errorr���r���rg���r���r���r���r����test_notify_bad_socket��s���� &H.0rx���c�������������� ���C���s��|���d�j}t�tjtj�}z|�|��W�n4�tjy^�}�zt�d|���W�Y�d�}~n d�}~0�0�t tdd�}|� tj|d��|tj d<�td�s�J��t��� �tdg�d �s�J��W�d�����n1�s�0����Y��tddd gd �s�J��tdt���d�s�J��tdt���dd ��sJ��d�S�)Nr���zfailed to bind socket (%s)�SO_PASSCRED����r���rk���rl���rm���rn���rp���rq���rs���rt���)r$���r%���r���rD���rK���rS���rA���r���Zxfail�getattrZ setsockoptZ SOL_SOCKETr���re���r���r���rg���)r+���r ���rG���r���ry���r���r���r����test_notify_with_socket!��s����$ .r|���)3�sysr���r&���r���rQ���r���Zsystemd.daemonr���r���r���r���r���r���r���r ���r ���r���r���r ���r���r���r���r����contextmanagerr���r���r"���r-���r2���r7���r:���r;���r<���rB���rC���rH���rM���rW���rX���rZ���r[���r_���rh���rj���rv����version_info�ConnectionRefusedErrorrw���r���rx���r|���r���r���r���r����<module>���sF���D &