Uname : Linux serv1.rebootns.com 5.14.0-570.62.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 10:10:59 EST 2025 x86_64
Soft : LiteSpeed
Ip : 139.99.125.122
Port : 443
~
/
usr
/
lib64
/
python3.9
/
site-packages
/
borg
/
testsuite
/
__pycache__
[ HOME ]
Exec
Submit
File Name : archiver.cpython-39.pyc
a HZ�h"� � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl Z d dlZd dlZd dl Z d dlZd dlZd dlZd dlZd dlZd dlmZmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZmZ d d lm Z d dl!Z!d dl"Z"d dl#Z"d dl$m%Z%m&Z&m'Z' d dl(m)Z)m*Z* d d l+m,Z,m-Z-m.Z. d dl/m0Z0m1Z1 d dl2m3Z3 d dl4T d dl5m6Z6m7Z7 d dl8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z> d dl?m@Z@mAZA d dlBmCZC d dl&mDZDmEZE d dl&mFZFmGZGmHZH d dl&mIZImJZJmKZK d dl&mLZL d dl&mMZM d dl&mNZN d dl&mOZOmPZP d dl&mQZQ d dlRmSZSmTZT d dlUmVZVmWZWmXZX d dlYmZZZm[Z[m\Z\ d d l]m^Z^ d d!l_m`Z` d d"lambZbmcZc d d#ldmeZe d$d%l$mfZfmgZg d$d&l$mhZhmiZimjZjmkZkmlZl d$d'l$mmZmmnZnmoZompZpmqZq d$d(l'mrZrmsZsmtZt d$d)lumvZv d$d*l$mwZw ejx�yejx�zejx�{e|�d+��Z}dd,dd-d,d.�d/d0�Z~d1d2� Zze~d3d4d5d6� d7d8gZ�W n e��y� d7gZ�Y n0 e!j�e�d9�d:d;� �Z�d<d=� Z�d>Z�e!j�j�ejx��e�� d?e� d@�dAdB� �Z�G dCdD� dDeh�Z�G dEdF� dFe��Z�e��d8e�v dG�G dHdI� dIe���Z�G dJdK� dKe��Z�G dLdM� dMe��Z�G dNdO� dOe��Z�G dPdQ� dQe��Z�G dRdS� dSe��Z�G dTdU� dUe��Z�dVdW� Z�dXdY� Z�G dZd[� d[�Z�G d\d]� d]�Z�d^d_� Z�d`da� Z�e!j���dbe�e�� ��� ��dcdd� �Z�e!j���dee�e,j���� ��dfdg� �Z�dS )h� N)� unhexlify� b2a_base64)�ConfigParser)�datetime)�timezone)� timedelta)�sha256)�BytesIO�StringIO)�patch� )�xattr�helpers�platform)�Archive�ChunkBuffer)�Archiver�parse_storage_quota�PURE_PYTHON_MSGPACK_WARNING)�Cache� LocalCache)� has_seek_hole)�*)� bytes_to_long�num_cipher_blocks)�KeyfileKeyBase�RepoKey� KeyfileKey� Passphrase�TAMRequiredError�ArchiveTAMRequiredError)�RepoIdMismatch�NotABorgKeyFile)�FileIntegrityError)�Location�get_security_dir)�Manifest�MandatoryFeatureUnsupported�ArchiveInfo)�EXIT_SUCCESS�EXIT_WARNING� EXIT_ERROR)� bin_to_hex)�MAX_S)�msgpack)� flags_noatime�flags_normal)�utcnow)� RstToTextLazy�rst_to_terminal)� IECommand�PatternMatcher� parse_pattern)�Item�ItemDiff�chunks_contents_equal)� LockFailed)� setup_logging)�RemoteRepository�PathNotAllowed)� Repository� )�has_lchflags�llfuse)�BaseTestCase� changedir�environment_variable� no_selinux� same_ts_ns)�are_symlinks_supported�are_hardlinks_supported�are_fifos_supported�is_utime_fully_supported�is_birthtime_fully_supported)�fakeroot_detected� is_darwin�is_win32)�make_attic_repo)�key�..F� )�archiver�fork�exe�input� binary_outputc O s2 |r�zX|d u rt jddf}n$t|t�r.|f}nt|t�s@td��tj|| tj|d�}d} W n^ tj y� } z| j }| j} W Y d } ~ n6d } ~ 0 ty� } zd}| j } W Y d } ~ n d } ~ 0 0 |r�| |fS | t�|�fS �nTt jt jt j }}} �z"t|�� �t _t|�t j_t� }tj|dd� } t _t _| d u �r>t� } d d � | _t| _tt_z| �t|��}W nf t�y� } zL|� � | j |�r�|�!� n |�!� �� fW Y d } ~ W ||| t _t _t _S d } ~ 0 0 | �"|�} |� � | |�r�|�!� n |�!� �� fW ||| t _t _t _S ||| t _t _t _0 d S )Nz-mz borg.archiverz"exe must be None, a tuple or a str)�stderrrV r � �utf-8��encodingc W s d S �N� ��argsr^ r^ �=/usr/lib64/python3.9/site-packages/borg/testsuite/archiver.py�<lambda>c rR zexec_cmd.<locals>.<lambda>)#�sys� executable� isinstance�str�tuple� ValueError� subprocess�check_outputZSTDOUTZCalledProcessError�output� returncode� SystemExit�code�os�fsdecode�stdin�stdoutrX r �decoder �buffer�io� TextIOWrapperr Z prerun_checksr) � exit_coder � parse_args�list�flush�getvalue�run)rS rT rU rV rW r` �kw�borgrk �ret�erq rr rX Zoutput_textr^ r^ ra �exec_cmdD sV ,� �r� c C s6 t �d�sdS tjddgtjd�} | �� \}}d|v S )N�tarFz --version)rr s GNU tar)�shutil�whichri �Popen�PIPEZcommunicate)�popenrr rX r^ r^ ra �have_gnutaru s r� �help�borg.exeT�rU rT �python�binary)�paramsc s8 | j dkrd � n| j dkr d� ntd��� fdd�}|S )Nr� r� r� z"param must be 'python' or 'binary'c s t | � dd�|��S )NTr� )r� )r` r} �rU r^ ra �exec_fn� s zcmd.<locals>.exec_fn)Zparamrh )Zrequestr� r^ r� ra �cmd� s r� c C s |� d�}|� d�}|� d�}|�d��d� | dddt|� �\}}|tksRJ �| d d | t|��\}}|tksvJ �tt|���. | dd | �\}}|tks�J �W d � n1 s�0 Y | dd | d�\}}|tks�J �| d d | t|��\}}|tk�sJ �d S ) N�reporV rk � test_file�content�init�--encryption=nonez%s�createz%s::archive�extractzdoes/not/match)�mkdir�join�writerf r) rC r* r+ )r� �tmpdirr� rV rk �rc�outr^ r^ ra �test_return_codes� s *r� z/tmp/borg-mountzneeds a 16MB fs mounted on %s��reasonc C s` ddd�}t dd���4 t}tj�|�s,J �tj�|d�}tj�|d�}tj�|d�}td �D �]�}tj|dd � tj|dd � ||ddd d� | d|�\}}|t kr�t d||� |t ks�J ��zd\} } | �r�| d7 } z||dd� W nD t�y, } z*|jtj k�rW Y d }~�q W Y d }~n d }~0 0 zb| dd|| f |�\}}|t k} | �sbt d||� W tjtj�|d�dd � t�tj�|d�� q�tjtj�|d�dd � t�tj�|d�� 0 q�W tj|dd � ntj|dd � 0 | d|�\}}|t k�rt d||� | dd|�\}}|t k�r.t d||� |t ks^J �q^W d � n1 �sR0 Y d S )NTc S s� t j| dd� t�| � |r<t�d|�}|dkr<t�d|�}t|�D ]T}tj�| d| �}t |d��$}t� |�}|�|� W d � qD1 s�0 Y qDd S )NT�� ignore_errorsr? zfile%03d�wb)r� �rmtreero r� �randomZrandint�range�pathr� �open�urandomr� )�dir�count�size�rnd�i�fn�f�datar^ r^ ra � make_files� s z"test_disk_full.<locals>.make_files�YES)�!BORG_CHECK_I_KNOW_WHAT_I_AM_DOINGr� rV �reserve�d r� �P i�� F)r� r� )Tr r? � i@ r� z%s::test%03d�lock.exclusivezlock.rosterry �check�--repair)T)rD �DF_MOUNTro r� �existsr� r� r� r� r) �print�OSError�errno�ENOSPC�remove)r� r� �mountr� rV r� �jr� r� �successr� �errr^ r^ ra �test_disk_full� sT � r� c @ s\ e Zd ZdZdZdZdd� Zdd� Zdd � Zd d� Z dd � Z dd� Zddd�Zddd�Z dS )�ArchiverTestCaseBaseNFrY c C s� dt jd<