File: //usr/lib64/python3.9/site-packages/borg/testsuite/__pycache__/chunker_pytest.cpython-39.opt-1.pyc
a
HZ�h. � @ s8 d dl mZ d dlZd dlZd dlZddlmZ ddlmZmZm Z m
Z
ddlT dZd e de d fde de d
fde de d fde d
e d
fgZ
d e de d
fde de d fde de d
fde d
e d fgZd e de d fgZd e de d
fgZd"dd�Zd#dd�Zdd� Zejje� dd�ej�dde
fdefdefdefg�dd� ��Zejje� dd�ej�dde
d d
fde
d d fde
ed
fde
ed fded d
fded d fdeed
fdeed fded d
fded d fdeed
fdeed fded d
fded d fdeed
fdeed fg�dd� ��Zd d!� ZdS )$� )�BytesION� )�cf� )�Chunker�ChunkerFixed� sparsemap�
has_seek_hole)�*� TF� � � c C s� t | d��r}d}|r*|�d| � ||7 }|D ]4\}}}|rL|�d| � n|�|tj� ||7 }q.|�|� W d � n1 s�0 Y d S )N�wbr � H� X)�open�write�seek�os�SEEK_CUR�truncate)�fnamer �header_size�fd�total�offset�size�is_data� r �C/usr/lib64/python3.9/site-packages/borg/testsuite/chunker_pytest.py�make_sparsefile% s
(r! c C s\ g }d}|r"|� d| � ||7 }| D ]0\}}}|rD|� d| � n
|� |� ||7 }q&|S )Nr r r )�append)r r �resultr r r r r r r �make_content5 s
r$ c
C s� t sdS t�� ��} tj�| d�}t|dtdfttdfg� t|d��^}z |� dtj
�}|� dtj�}W n, ty� Y W d � W d � dS 0 W d � n1 s�0 Y |dko�|tkW d � S 1 s�0 Y d S )NFZtest_sparser T�rb)
r �tempfileZTemporaryDirectoryr �path�joinr! �BSr r � SEEK_HOLE� SEEK_DATA�OSError)�tmpdir�fn�fZoffset_holeZoffset_datar r r �fs_supports_sparseD s
>r0 z fs does not support sparse files)�reasonzfname, sparse_mapZsparse1Zsparse2Z
onlysparseZ notsparsec C s* dd� }dd� }t | | �}t||� d S )Nc S s<