Your IP : 216.73.216.213
o
0�i� � @ sx d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlm Z m
Z
e
� G dd� dej�Ze
dkr:e�� dS dS )� N)�support)� os_helper)�
scriptsdir�skip_if_missingc @ sX e Zd Zej�ed�Zdd� Z ddd�Z dd � Z
d
d� Zdd
� Zdd� Z
dd� ZdS )�TestPathfixFunctionalz
pathfix.pyc C s | � tjtj� d S )N)�
addCleanupr �unlink�TESTFN��self� r �C/opt/alt/python310/lib64/python3.10/test/test_tools/test_pathfix.py�setUp s zTestPathfixFunctional.setUpr � c C s� |rt j�|d�}|}ntj}|}t|ddd��} | �|� d�d � W d � n1 s-w Y t�� }
t j
tj| jg|�d�|�i t j
�d|
i�d d
�}|dkr]|jdkr]|� d
�}| �|j||� | �|j�|
�|�dt j�|� | �|j�|
�|�dt j�|� t|ddd��} | �� }W d � n1 s�w Y |�d�}
| �|
dd � ddg� |
d }|jdkr�| �||� |S )Nz
script-A_1.py�w�utf8)�encoding�
zprint("Hello world")
z-nZPYTHONIOENCODINGT)�envZcapture_outputr r z: updating
�r� zprint("Hello world"))�os�path�joinr r �open�write�sys�getfilesystemencoding�
subprocess�run�
executable�script�environ�
returncode�assertEqual�stdout�decode�replace�linesep�stderr�read�split)r ZshebangZ
pathfix_flags�exitcoder% r) � directory�filenameZpathfix_arg�fr �proc�output�linesZnew_shebangr r r
�pathfix sD �
����
�
zTestPathfixFunctional.pathfixc C sX t jd }| �t j|� t�|� dtj�|�� d�}| �| j dddg||d�d� d S ) Nz.dz
recursedown('z')
�#! /usr/bin/env python�-i�/usr/bin/python3)r- r) �#! /usr/bin/python3)
r r r Zrmtreer �mkdirr �basenamer$ r3 )r ZtmpdirZexpected_stderrr r r
�test_recursive; s
��z$TestPathfixFunctional.test_recursivec C s4 | � | �dddg�d� | � | �dddg�d� d S )Nr4 r5 r6 r7 �#! /usr/bin/env python -R�r$ r3 r
r r r
�test_pathfixH � ����z"TestPathfixFunctional.test_pathfixc C s4 | � | �dg d��d� | � | �dg d��d� d S )Nr; )r5 r6 �-kz#! /usr/bin/python3 -Rr4 r7 r<