File: //usr/local/lib/python3.10/test/__pycache__/test_compileall.cpython-310.opt-1.pyc
o
�i1� � @ s d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl
Z
d dlZd dlZd dl
Zd dlZd dlZd dlmZmZ d dlmZ z
d dlmZ e� dZW n eyb dZY nw d dlmZ d dlmZ d d lmZ d d
lmZ d dlmZ dd
� Z dd� Z!dd� Z"G dd� d�Z#G dd� de#ej$edd�Z%G dd� de#ej$edd�Z&G dd� dej$�Z'G dd� d�Z(G dd� de(ej$edd�Z)G dd � d e(ej$edd�Z*G d!d"� d"�Z+G d#d$� d$e+ej$edd�Z,G d%d&� d&e+ej$edd�Z-e.d'k�re�/� dS dS )(� N)�mock�
skipUnless)�ProcessPoolExecutor)�_check_system_limitsTF)�support)� os_helper)�
script_helper)�without_source_date_epoch)�SourceDateEpochTestMetac C s |sd}t jj| |d�S )N� ��optimization)� importlib�util�cache_from_source)�script�opt� r �1/usr/local/lib/python3.10/test/test_compileall.py�get_pyc# s r c s � fdd�dD �S )Nc s g | ]}t � |��qS r )r )�.0r �r r r �
<listcomp>+ s zget_pycs.<locals>.<listcomp>�r � � r r r r r �get_pycs* s r c C s t �| �j}t �|�j}||kS )z8Returns True if two files have the same inode (hardlink))�os�stat�st_ino)Z filename1� filename2Zinode1Zinode2r r r �is_hardlink. s r! c @ s� e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zeed+�e�d,�d-d.� ��Zd/d0� Zeed+�e�d,�d1d2� ��Zeed+�e�d,�e�d3�d4d5� ���Zejd,d6d7�e�d3�d8d9� ��Z d:d;� Z!d<d=�d>d?�Z"d@dA� Z#dBdC� Z$dDdE� Z%dFdG� Z&dHdI� Z'dJdK� Z(dLdM� Z)dNdO� Z*dPdQ� Z+e,j-dRdS� �Z.d6S )T�CompileallTestsBasec C s� t �� | _tj�| jd�| _tj� | j�| _
t| jddd��
}|�d� W d � n1 s.w Y tj�| jd�| _
tj� | j
�| _t�| j| j
� tj�| jd�| _t�| j� tj�| jd�| _t�| j| j� d S ) N�_test.py�w�utf-8��encodingzx = 123
z _test2.pyZ_subdirz _test3.py)�tempfile�mkdtemp� directoryr �path�join�source_pathr r r �bc_path�open�write�source_path2�bc_path2�shutil�copyfileZsubdirectory�mkdir�source_path3��self�filer r r �setUp7 s
�zCompileallTestsBase.setUpc C � t �| j� d S �N�r3 �rmtreer* �r8 r r r �tearDownE � zCompileallTestsBase.tearDownc C sR t j�| jd�| _t| jddd��}|�d� W d � d S 1 s"w Y d S )Nz_test_bad.pyr$ r% r&