File: //lib64/python3.6/test/__pycache__/test_largefile.cpython-36.pyc
3
\Q � @ s� d Z ddlZddlZddlZddlZddlmZmZmZm Z ddl
Z
ddlZdZ
G dd� d�Zdd� ZG d d
� d
eej�ZG dd� deej�Zd
d� Zedkr�ej� dS )z9Test largefile support on system where this makes sense.
� N)�TESTFN�requires�unlink�
bigmemtestl y* c @ sb e Zd ZdZdd� Zedd� �Zeeddd�d d
� �Z dd� Z
d
d� Zdd� Zdd� Z
dd� ZdS )�
LargeFileTestzUTest that each file function works as expected for large
(i.e. > 2GB) files.
c C s� t jjt�rd}nd}| jt|���}t j|j� �tj }|t d krHd S |dkrZ|j
d� |jd� |jt � |j
d� |j� | j
t j|j� �tj t d � W d Q R X d S )Nzr+bzw+b� r � z� a)�os�path�existsr �open�fstat�fileno�stat�ST_SIZE�size�write�seek�flush�assertEqual)�self�mode�fZcurrent_size� r �&/usr/lib64/python3.6/test_largefile.py�setUp s
zLargeFileTest.setUpc C s: | j td�� W d Q R X tjt�tj dks6| jd��d S )N�wbr z0File was not truncated by opening with mode "wb")r
r r
r r ZfailureException)�clsr r r �
tearDownClass( s
zLargeFileTest.tearDownClass� F)r ZmemuseZdry_runc C sH | j td��2}| jt|j� �td � | j|j� td � W d Q R X d S )N�rbr )r
r r �len�readr �tell)r Z_sizer r r r �test_large_read2 s zLargeFileTest.test_large_readc C s | j tjt�tj td � d S )Nr )r r
r r r r )r r r r �test_osstat9 s zLargeFileTest.test_osstatc C s� | j td����}| j|j� d� | j|jd�d� | j|j� d� |jd� | j|j� d� |jdd� | j|j� d� |jd� | j|j� d� |jdd� | j|j� d� |jdd� | j|j� d� |jdd� | j|j� d� |jdd� | j|j� td d � |jd
d� | j|j� td d � |jt d d� | j|j� d� |jt� | j|j� t� | j|jd�d � |jt d d� | j|jd�d� | j|j� d� W d Q R X d S )Nr! r r r �* �T r �
r i����)r
r r r$ r# r r )r r r r r �test_seek_read<