File: //usr/local/lib/python3.7/test/__pycache__/test_posix.cpython-37.opt-2.pyc
B
��g�� � @ s� d dl mZ d dlmZ e�d�Zd dlZd dlZd dlZd dl Z d dl
Z
d dlZd dlZd dl
Z
d dlZd dlZe j�e
�� ejd �Ze�ejdk d�Zdd � Ze�e� d
�ZG dd� dej�ZG d
d� dej�Zdd� Zedkr�e� dS )� )�support)�assert_python_ok�posixNz-dummy-symlinkl z(test is only meaningful on 32-bit buildsc
C sT t td�sdS yt�d� W n2 tk
rN } z| jtjkr>dS W d d } ~ X Y nX dS )N�sched_getschedulerFr T)�hasattrr r �OSError�errnoZENOSYS)�e� r
�+/usr/local/lib/python3.7/test/test_posix.py�_supports_sched s
r zrequires POSIX scheduler APIc @ s�
e Zd Zdd� Zdd� Zdd� Ze�ee d�d�d d
� �Z
e�ee d�d�d
d� �Ze�ee d�d�dd� �Ze�ee d�d�dd� �Z
e�ee d�d�dd� �Ze�ee d�d�dd� �Ze�ee d�d�dd� �Ze�ee d�d �d!d"� �Ze�ee d#�d$�d%d&� �Ze�ee d'�d(�d)d*� �Ze�ee d+�d,�d-d.� �Ze�eed/d0�ejkd1�e�eed2�d3�e�eed4�d5�d6d7� ���Ze�ee d8�d9�e�eed2�d3�d:d;� ��Ze�eed2�d3�d<d=� �Ze�ee d>�d?�d@dA� �Ze�ee dB�dC�dDdE� �Ze�ee dF�dG�dHdI� �Ze�ee dF�dG�e�ee dJ�dK�dLdM� ��Ze�ee dF�dG�edNdO� ��Z e�ee dP�dQ�dRdS� �Z!e�ee dT�dU�dVdW� �Z"e�ee dT�dU�e�ee dX�dY�dZd[� ��Z#e�ee dT�dU�ed\d]� ��Z$e�ee d^�d_�d`da� �Z%e�ee d^�d_�dbdc� �Z&e�ee dd�de�dfdg� �Z'e�ee dd�de�dhdi� �Z(e�ej)ejkdj�dkdl� �Z*e�ej)ej+kdm�dndo� �Z,e�ee dp�dq�drds� �Z-e�ee dp�dq�edtdu� ��Z.e�ee dv�dw�dxdy� �Z/e�ee dv�dw�edzd{� ��Z0e�ee d|�d}�d~d� �Z1e�ee d��d��d�d�� �Z2e�ee d��d��d�d�� �Z3e�eed��d��e4�5d�d�d��d�d�� ��Z6e�ee d��d��d�d�� �Z7e�ee d��d��d�d�� �Z8e�ee d��d��d�d�� �Z9e�ee d��d��d�d�� �Z:e�ee d��d��d�d�� �Z;e�ee d���o ee<d��d��d�d�� �Z=e�ee d��d��e�ee d��d��d�d�� ��Z>d�d�� Z?e�ee d��d��d�d�� �Z@e�ee d��d��d�d�� �ZAe�ee d��d��d�d�� �ZBe�ee d��d��d�d�� �ZCd�d�� ZDd�d�� ZEd�dÄ ZFd�dń ZGe�e jHejkdơd�dȄ �ZIe�ee dɃdʡd�d̄ �ZJe�ee d̓dΡd�dЄ �ZKe�ee dуdҡd�dԄ �ZLe�ee dՃd֡d�d �ZMe�eedكdڡe4�5d�d�dۡd�d݄ ��ZNe4jOe�eedكdڡe4�5d�d�dۡd�d߄ ���ZPe�ee d�d�d�d� �ZQd�d� ZRe�ee d�d�d�d� �ZSe�ee d�d�d�d� �ZTe�ee d�d�d�d� �ZUd�d� ZVe�eed�d�d�d�� �ZWe�ee d��d��d�d�� �ZXe�ee d��d��e�eeYd��d��e�eed��d���d �d� ���ZZe�ee�d��d��d�d� �Z[e�ej\ej]k�d��d�d� �Z^e�ej_ej]k�d ��d
�d� �Z`e�ejaej]k�d��d
�d� �Zbe�ej<ej]k�d��d�d� �Zce�ej)ej]k�d��d�d� �Zde�ejeej]k�d��d�d� �Zfe�ejgej]k�d��d�d� �Zhe�ejiej]k�o�ee<d���d��d�d� �Zje�ejkej]k�d��d�d � �Zle�ejmej]k�d!��d"�d#� �Zne�ejoej]k�d$��d%�d&� �Zpe�ejqej]k�d'��d(�d)� �Zre�ejsej]k�d*��d+�d,� �Zte�ejuej]k�d-��d.�d/� �Zve�ee �d0��d1�Zwe�ee �d2��d3�Zxew�d4�d5� �Zyewe�ee �d6��d7��d8�d9� ��Zze{�d:�d;� �Z|e�ee �d<��d=��d>�d?� �Z}ex�d@�dA� �Z~ex�dB�dC� �Z�dD�dE� Z�e�ee�dF��dG��dH�dI� �Z��dJ�dK� Z��dL�dM� Z��dN�dO� Z�d0S (P �PosixTesterc C sD t tjd�}|�� tjg| _t�� | _| j�� t� ddt
� d S )Nzw+�ignorez.* potential security risk .*)�openr �TESTFN�close�teardown_filesZcheck_warnings�_warnings_manager� __enter__�warnings�filterwarnings�RuntimeWarning)�self�fpr
r
r �setUp( s
zPosixTester.setUpc C s. x| j D ]}t�|� qW | j�d d d � d S )N)r r �unlinkr �__exit__)r Z
teardown_filer
r
r �tearDown2 s zPosixTester.tearDownc C s\ ddddddddd d
ddd
ddg}x4|D ],}t t|d �}|d k r(|� | �t|d� q(W d S )N�ctermid�getcwd�getcwdb�uname�times�
getloadavg�getegid�geteuid�getgid� getgroups�getpid�getpgrp�getppid�getuid�sync� )�getattrr �assertRaises� TypeError)r ZNO_ARG_FUNCTIONS�nameZ
posix_funcr
r
r �testNoArgFunctions7 s
zPosixTester.testNoArgFunctions� getresuidztest needs posix.getresuid()c C s6 t �� }| �t|�d� x|D ]}| �|d� qW d S )N� r )r r3 �assertEqual�len�assertGreaterEqual)r Zuser_ids�valr
r
r �test_getresuidF s
zPosixTester.test_getresuid� getresgidztest needs posix.getresgid()c C s6 t �� }| �t|�d� x|D ]}| �|d� qW d S )Nr4 r )r r: r5 r6 r7 )r Z group_idsr8 r
r
r �test_getresgidN s
zPosixTester.test_getresgid� setresuidztest needs posix.setresuid()c C s0 t �� }| �t j|� � | �t �ddd�� d S )N���)r r3 �assertIsNoner<