Your IP : 216.73.216.196
o
0�i�� � @ sj d dl Z d dlZd dlZd dlZd dlZd dlZd dl mZ d dlmZ d dl m
Z
d dlmZ d dlm
Z
d dlmZ zd dlZW n eyM dZY nw ze j W n ey^ dZY nw d Zzd dlZW n eyr dZY nw d Zd
d� Zdd
� Zdd� Zdd� ZG dd� dej�ZG dd� de�ZG dd� de
jej�ZG dd� de�Z e!dkr�e�"� dS dS )� N)�
ALLOW_MISSING)�support)� os_helper)�FakePath)�test_genericpath)�
TemporaryFileFTc C sn t jddd�j}t jt jt jg|_t j|_|| d d�}|s&td�t � � ���t �
|�}|| ||�}|d |� S )NZkernel32T)Zuse_last_errorr z&failed to get short path name 0x{:08X})�ctypesZWinDLLZGetShortPathNameWZ c_wchar_pZc_uint32�argtypesZrestype�OSError�formatZget_last_errorZcreate_unicode_buffer)�pathZGSPNZ
result_len�result� r �7/opt/alt/python310/lib64/python3.10/test/test_ntpath.py�_getshortpathname# s
�
r c C sB t | tttjf�rt�t�| ��S t| d�rt dd� | D ��S | S )N�__iter__c s s � | ]}t �t�|��V qd S �N)�ntpath�normcase�os�fsdecode��.0�pr r r � <genexpr>3 s � z_norm.<locals>.<genexpr>)
�
isinstance�bytes�strr �PathLiker r r �hasattr�tuple)r r r r �_norm/ s
r! c C s& | � dd�} t| �}||kr&t|�t|�kr&t�dt| �t|�t|�f ��| � dd�} | � dd�} | � dd �} | � d
d�} | � dd
�} | � dd�} t�| ��d�} | � dd��d�} t
�� � t
�dt
� t| �}W d � n1 stw Y t|�t|�kr�t�dt| �t|�t|�f ��d S )N�\�\\z%%s should return: %s but returned: %sz('z(b'z("z(b"z['z[b'z["z[b"z, 'z, b'z, "z, b"�latin1�ascii�backslashreplace�ignore)�replace�evalr! r Z
TestFailedr r �fsencode�decode�encode�warnings�catch_warnings�simplefilter�DeprecationWarning�repr)�fnZ
wantResultZ gotResultr r r �tester7 s. �
���r3 c s � fdd�}|S )aq Simplistic decorator to parametrize a test
Runs the decorated test multiple times in subTest, with a value from
'parameters' passed as an extra positional argument.
Calls doCleanups() after each run.
Not for general use. Intended to avoid indenting for easier backports.
See https://discuss.python.org/t/91827 for discussing generalizations.
c s � �fdd�}|S )Nc sZ �D ](}| � |�� � | g|�|�R i |�� W d � n1 s!w Y | �� qd S r )�subTestZ
doCleanups)�self�args�kwargsZ parameter)�func�
parametersr r �_parameterized[ s �
�zE_parameterize.<locals>._parametrize_decorator.<locals>._parameterizedr )r8 r: �r9 )r8 r �_parametrize_decoratorZ s z-_parameterize.<locals>._parametrize_decoratorr )r9 r<