관리-도구
편집 파일: utils.cpython-39.pyc
a f�WcU@ � @ s� d Z ddlmZ ddlmZ ddlZddlmZmZ ddl Z ddl Z e �e�Z ddlZddlZddlZddlZddlZddlZddlZddlmZmZ ddlmZmZ ddlZddlmZ dd lmZ dd lmZ ddl m!Z! ddl"m#Z$m%Z%m&Z&m'Z'm(Z( ddl)m*Z*m+Z+m,Z,m-Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4 dd lm5Z5m6Z6m7Z7m8Z8m9Z9m:Z: ddl;m<Z< ddl=m> m?Z@ g d�ZAzddlBZCW n eD�y� dZEY n0 dZEdd� ZFdd� ZGeGe3�ZHg d�ZIeI�JejK�Ldd��M� �N� �ZOdNdd�ZPdd� ZQdOdd�ZRdd � ZSdPd!d"�ZTd#d$� ZUd%d&� ZVd'd(� ZWejXd)d*� �ZYd+d,� ZZd-d.� Z[d/d0� Z\d1d2� Z]d3d4� Z^d5d6� Z_dQd9d:�Z`dRd=d>�ZaG d?d@� d@e$�Z#dAdgZbdBdC� ZcG dDdE� dEe#�ZdG dFdG� dGed�ZeG dHdI� dIed�ZfG dJdK� dKed�ZgG dLdM� dMejh�ZidS )Szhelpers for passlib unittests� )�with_statement)� unhexlifyN)�wraps�partial)�PasslibHashWarning�PasslibConfigWarning)�PY3�JYTHON)�warn)�exc)�MissingBackendError)�TestCase�skip�skipIf� skipUnless�SkipTest) �has_rounds_info� has_salt_info�rounds_cost_values�rng� getrandstr� is_ascii_safe� to_native_str� repeat_string�tick�batch)� iteritems�irange�u�unicode�PY2�nullcontext)� classproperty)� TEST_MODE�set_file�get_filer �HandlerCaseFTc C s8 t j�| �}t j�| �|kr4t�d� t �| d� qdS )zensure file's mtime has changed皙�����?N)�os�path�getmtime�time�sleep�utime)r) Zlast� r. �7/usr/lib/python3.9/site-packages/passlib/tests/utils.py�ensure_mtime_changed; s r0 c s&