Your IP : 216.73.216.213
�
f f�B � @ 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 Z d d l
m Z m Z Gd d � d e j � Z Gd d � d e j � Z Gd d � d e j � Z e d k r
e j � n d S)
� N)�support�
script_helperc @ s� e Z d Z d d � Z d d � Z d d � Z e j e e d � d � d d
� � Z
d d � Z d
d � Z d d � Z
d d � Z d d � Z d S)�CompileallTestsc C s t j � | _ t j j | j d � | _ t j j | j � | _
t | j d � � } | j d � Wd QXt j j | j d � | _
t j j | j
� | _ t j | j | j
� t j j | j d � | _ t j | j � t j j | j d � | _ t j | j | j � d S)Nz_test.py�wzx = 123
z _test2.pyZ_subdirz _test3.py)�tempfile�mkdtemp� directory�os�path�join�source_path� importlib�util�cache_from_source�bc_path�open�write�source_path2�bc_path2�shutilZcopyfileZsubdirectory�mkdir�source_path3)�self�file� r �9/opt/alt/python34/lib64/python3.4/test/test_compileall.py�setUp s zCompileallTests.setUpc C s t j | j � d S)N)r �rmtreer )r r r r �tearDown s zCompileallTests.tearDownc
C sj t | j d � � } | j d � } Wd QXt t j | j � j � } t j d t
j j | � } | | f S)N�rb� z<4sl)
r r �read�intr �statr �st_mtime�struct�packr
r �MAGIC_NUMBER)r r �data�mtimeZcomparer r r r( # s
zCompileallTests.datar# ztest needs os.stat()c C s� t j | j � | j | j � � t | j d � �# } | j � t | � d � } Wd QXt | j d � �! } | j | � | j | � Wd QX| j
| j � � t j | j
d d d d �| j | j � � d S)zOCheck that compileall recreates bytecode when the new metadata is
used.r N�wb�forceF�quietT)�
py_compile�compiler �assertEqualr( r r r! �lenr �assertNotEqual�
compileall�compile_dirr �
assertTrue)r Zmetadatar Zbcr r r �recreation_check* s "
z CompileallTests.recreation_checkc C s&