Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib64/python3.7/site-packages/twisted/test/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/site-packages/twisted/test/__pycache__/test_sob.cpython-37.pyc

B

;��]�@s�ddlmZmZddlZddlZddlmZddlmZddl	m
Z
ddlmZddl
mZGdd	�d	ej�Zd
ddd
dgd
digZGd
d�de�ZGdd�dej�ZdS)�)�division�absolute_importN)�dedent)�unittest)�sob)�
components)�	Ephemeralc@seZdZdS)�DummyN)�__name__�
__module__�__qualname__�r
r
�H/opt/alt/python37/lib64/python3.7/site-packages/twisted/test/test_sob.pyr	sr	��hello)rrc@seZdZdS)�
FakeModuleN)r
rrr
r
r
rrsrc@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�PersistTestscCsfx`tD]X}t�|d�}xFd��D]:}|�|�|jd|d�t�d||�}|�||�q WqWdS)N�z
source picklezpersisttest.)�filename)�objectsr�
Persistent�split�setStyle�save�load�assertEqual)�self�o�p�style�o1r
r
r�
testStyles!s

zPersistTests.testStylescCs�t�}d|_|�tjt�|d��xjd��D]^}t�|��|�t�|�jd|d�t�	d||�}|�
|j|j�|�
t�|�j|�q,WdS)N�Zlalaz
source picklezlala.)r)r	�fooZsetComponentrZIPersistablerrrrrrr)rrrr r
r
r�testStylesBeingSet*szPersistTests.testStylesBeingSetcCs$t�dd�}|jt|jddd�dS)z?
        Calling save() with a passphrase is an error.
        N�objectzfilename.pickle�abc)Z
passphrase)rZ
Persistant�assertRaises�	TypeErrorr)rrr
r
r�testPassphraseError6sz PersistTests.testPassphraseErrorcCs�dddg}t�|d�}x�d��D]z}|�|�|��t�d|d|�}|�||�xBd��D]6}|�|�t�d	|d
|d|�}|�||�q`Wq WdS)Nr��r%z
source picklez	object.tarz	lala lolozobject-z.ta)rrrrrrr)rrrrr �tagr
r
r�	testNames?s


zPersistTests.testNamesc	CsBtdd��}|�d�WdQRXt�dd�}|�|dddg�dS)Nzpersisttest.python�wzfoo=[1,2,3] r#rr*r+)�open�writerZloadValueFromFiler)r�frr
r
r�
testPythonMszPersistTests.testPythoncCs�|�ttjd�|�dt�d��|�dt�d��|�dt�d��|�dt�d��|�dt�d��|�d	t�d
��|�d	t�d��dS)Nz	file.blah�pythonzfile.pyzfile.tacz	file.etac�picklezfile.tapz	file.etap�sourcezfile.tasz	file.etas)r'�KeyErrorrZ	guessTyper)rr
r
r�testTypeGuesserTszPersistTests.testTypeGuesserc	Cs�d|j_|��}t�|�tj�|d�}dat|d��}|�	t
d��WdQRXt�|d�}|�
|t�|�|dd�|�|dd	�|�
tt�|�
tjt�bdS)
z�
        L{_EverythingEphermal.__getattr__} will proxy the __main__ module as an
        L{Ephemeral} object, and during load will be transparent, but after
        load will return L{Ephemeral} objects from any accessed attributes.
        rzpersisttest.ee_getattrNr.a�
            app = []
            import __main__
            app.append(__main__.testMainModGetattr == 1)
            try:
                __main__.somethingElse
            except AttributeError:
                app.append(True)
            else:
                app.append(False)
            from twisted.test import test_sob
            test_sob.mainWhileLoading = __main__
            r5rzExpected attribute not set.zUnexpected attribute set.)�fakeMainZtestMainModGetattr�mktemp�os�mkdir�path�joinZmainWhileLoadingr/r0rrrZassertIsInstance�listZ
assertTruerZ
somethingElse)r�dirnamerr1�loadedr
r
r�testEverythingEphemeralGetattr^s
z+PersistTests.testEverythingEphemeralGetattrc	Cs|d|j_|��}t�|�tj�|d�}t|d��$}|�d�|�d�|�d�WdQRXt	�
|d�|�|jjd�dS)	zU
        Verify that _EverythingEphemeral.__setattr__ won't affect __main__.
        rzpersisttest.ee_setattrr.zimport __main__
z __main__.testMainModSetattr = 2
zapp = None
Nr5)r8ZtestMainModSetattrr9r:r;r<r=r/r0rrr)rr?rr1r
r
r�testEverythingEphemeralSetattr�s


z+PersistTests.testEverythingEphemeralSetattrc	Csl|��}t�|�tj�|d�}t|d��}|�d�WdQRX|�tt	j
|d�|�tt
jd�t�dS)zW
        Test that an exception during load() won't cause _EE to mask __main__
        zpersisttest.ee_exceptionr.zraise ValueError
Nr5�__main__)r9r:r;r<r=r/r0r'�
ValueErrorrrr�type�sys�modulesr)rr?rr1r
r
r� testEverythingEphemeralException�s
z-PersistTests.testEverythingEphemeralExceptioncCs"tjd|_t�|_tjd<dS)zi
        Replace the __main__ module with a fake one, so that it can be mutated
        in tests
        rCN)rFrG�realMainrr8)rr
r
r�setUp�szPersistTests.setUpcCs|jtjd<dS)z8
        Restore __main__ to its original value
        rCN)rIrFrG)rr
r
r�tearDown�szPersistTests.tearDownN)r
rrr!r$r)r-r2r7rArBrHrJrKr
r
r
rr s		
'r)�
__future__rrr:rF�textwraprZ
twisted.trialrZtwisted.persistedrZtwisted.pythonrZtwisted.persisted.stylesrZ
Componentizedr	rr%rZTestCaserr
r
r
r�<module>s