File: //proc/self/root/lib/python3/dist-packages/twisted/test/__pycache__/test_rebuild.cpython-38.pyc
U
W[/! � @ s� d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ ddl m
Z
e
jZG dd� d�a
G d d
� d
t
�ZG dd� de�ZG d
d� dee�aG dd� d�ZdaG dd� dej�ZG dd� dej�ZdS )� N)�unittest��rebuild)�_PY3� )�crash_test_dummyc @ s e Zd ZdS )�FooN��__name__�
__module__�__qualname__� r
r
�;/usr/lib/python3/dist-packages/twisted/test/test_rebuild.pyr s r c @ s e Zd ZdS )�BarNr r
r
r
r r s r c @ s e Zd ZdS )�BazNr r
r
r
r r s r c @ s e Zd ZdS )�BuzNr r
r
r
r r s r c @ s e Zd ZdZdd� Zdd� ZdS )�HashRaisesRuntimeErrorz�
Things that don't hash (raise an Exception) should be ignored by the
rebuilder.
@ivar hashCalled: C{bool} set to True when __hash__ is called.
c C s
d| _ d S )NF)�
hashCalled��selfr
r
r �__init__ s zHashRaisesRuntimeError.__init__c C s d| _ td��d S )NTznot a TypeError!)r �RuntimeErrorr r
r
r �__hash__ s zHashRaisesRuntimeError.__hash__N)r
r r �__doc__r r r
r
r
r r s r c @ sX e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dd� Z
dd� Zdd� ZdS )�RebuildTestszH
Simple testcase for rebuilding, to at least exercise the code.
c C sb | � � | _t�| j� tj�| jd�| _t�| j� ttj�| jd�d��� t j�
d| j� d S )N�twisted_rebuild_fakelibz__init__.py�wr )Zmktemp�libPath�os�mkdir�path�join�fakelibPath�open�close�sys�insertr r
r
r �setUp. s
�zRebuildTests.setUpc C s t j�| j� d S �N)r% r �remover r r
r
r �tearDown8 s zRebuildTests.tearDownc C s� ddl m} dd l}dd l}|�|td�tj�| j d�� ddl
m} |�� }|�
� }|�� }| �|�� d� |�d� |�|td�tj�| j d�� t�|� |�
� }| �|�� d � | �|�� d � | �|�� d
� | �|�� d� d S )Nr )�sibpathzmyrebuilder1.pyzmyrebuilder.py)�myrebuilder�ag�������?zmyrebuilder2.py�c�d�b)Ztwisted.python.utilr+ �shutil�timeZcopyfile�__file__r r r! r"