<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
Ii)                 @   s   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlmZ d dlmZmZ dadd ZG dd de jdd#Zdd Zdd Zdd Zdd ZejejdddZdd Zd$ddZd%ddZd&ddZd'd!d"ZdS )(    N)source_from_cache)make_legacy_pycstrip_python_stderrc               C   sV   t d krRdtjkrda dS ytjtjdddg W n tjk
rL   da Y nX da t S )NZ
PYTHONHOMETz-Ez-czimport sys; sys.exit(0)F)$__cached_interp_requires_environmentosenviron
subprocessZ
check_callsys
executableZCalledProcessError r   r   2/usr/lib64/python3.6/test/support/script_helper.py interpreter_requires_environment   s    


r   c               @   s   e Zd Zdd ZdS )_PythonRunResultc             C   s   d}| j | j }}t||kr0d|| d   }t||krNd|| d   }|jddj }|jddj }td| j|||f d S )	NP   d   s   (... truncated stdout ...)s   (... truncated stderr ...)asciireplacezRProcess return code is %d
command line: %r

stdout:
---
%s
---

stderr:
---
%s
---i@  )outerrlendecoderstripAssertionErrorrc)selfcmd_linemaxlenr   r   r   r   r   fail>   s    z_PythonRunResult.failN)__name__
__module____qualname__r   r   r   r   r   r   ;   s   r   r   r   r   c        
      O   s  t  }d|kr|jd}n| o$| }tjddg}|rB|jd n| rX| rX|jd |jdd ri }tjdkrtjd |d< n
tjj }d	|krd
|d	< |j	| |j
|  tj|tjtjtj|d}|* z|j \}}W d |j  tj  X W d Q R X |j}	t|}t|	|||fS )NZ
__isolatedz-XZfaulthandlerz-Iz-EZ
__cleanenvZwin32Z
SYSTEMROOTTERM )stdinstdoutstderrenv)r   popr	   r
   appendplatformr   r   copyupdateextendr   PopenPIPEZcommunicatekill_cleanup
returncoder   r   )
argsenv_varsZenv_requiredisolatedr   r&   procr   r   r   r   r   r   run_python_until_end[   s:    





r6   c             O   s4   t ||\}}|jr| s&|j r0|  r0|j| |S )N)r6   r   r   )Zexpected_successr2   r3   resr   r   r   r   _assert_python   s    
r8   c              O   s   t d| |S )NT)T)r8   )r2   r3   r   r   r   assert_python_ok   s    r9   c              O   s   t d| |S )NF)F)r8   )r2   r3   r   r   r   assert_python_failure   s    r:   )r$   r%   c             O   sX   t jg}t s|jd |j| |jdttj}d|d< t	j
|ft	j| |d|S )Nz-Er&   Zvt100r!   )r#   r$   r%   )r	   r
   r   r(   r,   
setdefaultdictr   r   r   r-   r.   )r$   r%   r2   kwr   r&   r   r   r   spawn_python   s    

r>   c             C   s2   | j j  | jj }| jj  | j  tj  |S )N)r#   closer$   readwaitr   r0   )pdatar   r   r   kill_python   s    


rD   Fc             C   sP   |}|s|t jd 7 }t jj| |}t|ddd}|j| |j  tj  |S )Npywzutf-8)encoding)	r   extseppathjoinopenwriter?   	importlibinvalidate_caches)Z
script_dirscript_basenamesourceZomit_suffixZscript_filenamescript_nameZscript_filer   r   r   make_script   s    
rR   c       	      C   s   |t j d }t jj| |}tj|d}|d kr~|jt j}t|dkrr|d dkrrt	t
|}t jj|}|}nt jj|}|j|| |j  |t jj||fS )NziprF      __pycache__)r   rH   rI   rJ   zipfileZipFilesplitsepr   r   r   basenamerL   r?   )	zip_dirzip_basenamerQ   Zname_in_zipzip_filenamezip_namezip_filepartsZ
legacy_pycr   r   r   make_zip_script   s    rb   r"   c             C   s   t j|  t| d| d S )N__init__)r   mkdirrR   )Zpkg_dirZinit_sourcer   r   r   make_pkg   s    
re      c                s0  g }t | dd}|j| tjj|}	t | ||}
|j|
 |rjtj|dd}tj|
dd}
|j||
f  fddtd|d D }tjj	|d
 tjj|
}|tj
 d }tjj	| |}tj|d	}x&|D ]}tjj	||	}|j|| qW |j|
| |j  x|D ]}tj| q
W |tjj	||fS )Nrc   r"   T)doraisec                s   g | ]}t jj g| qS r   )r   rZ   rJ   ).0i)pkg_namer   r   
<listcomp>   s    z make_zip_pkg.<locals>.<listcomp>rf   rS   rF   )rR   r(   r   rI   r[   
py_compilecompiler,   rangerJ   rH   rW   rX   rL   r?   unlink)r\   r]   rj   rO   rP   ZdepthZcompiledrp   Z	init_nameZinit_basenamerQ   Z	pkg_namesZscript_name_in_zipr^   r_   r`   nameZinit_name_in_zipr   )rj   r   make_zip_pkg   s.    



rr   )r   r   r   )F)N)r"   )rf   F) collectionsrM   r	   r   Zos.pathZtempfiler   rm   
contextlibZshutilrW   importlib.utilr   Ztest.supportr   r   r   r   
namedtupler   r6   r8   r9   r:   r.   ZSTDOUTr>   rD   rR   rb   re   rr   r   r   r   r   <module>   s4   $3



