HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/twisted/test/__pycache__/test_sob.cpython-38.pyc
U


W[�@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__�rr�7/usr/lib/python3/dist-packages/twisted/test/test_sob.pyr	sr	��hello)rrc@seZdZdS)�
FakeModuleNr
rrrrrsrc@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�PersistTestscCs^tD]T}t�|d�}d��D]:}|�|�|jd|d�t�d||�}|�||�qqdS)N��
source picklezpersisttest.��filename)�objectsr�
Persistent�split�setStyle�save�load�assertEqual)�self�o�p�style�o1rrr�
testStyles!s
zPersistTests.testStylescCs�t�}d|_|�tjt�|d��d��D]^}t�|��|�t�|�jd|d�t�	d||�}|�
|j|j�|�
t�|�j|�q*dS)N�Zlalarzlala.r)r	�fooZsetComponentrZIPersistablerrrrrrr")rr r"r#rrr�testStylesBeingSet*szPersistTests.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)rr!rrr�testPassphraseError6s�z PersistTests.testPassphraseErrorcCs�dddg}t�|d�}d��D]v}|�|�|��t�d|d|�}|�||�d��D]6}|�|�t�d	|d
|d|�}|�||�q\qdS)Nr��r(rz	object.tarz	lala lolozobject-z.ta)rrrrrrr)rr r!r"r#�tagrrr�	testNames?s


zPersistTests.testNamesc	CsBtdd��}|�d�W5QRXt�dd�}|�|dddg�dS)Nzpersisttest.python�wzfoo=[1,2,3] r&rr-r.)�open�writerZloadValueFromFiler)r�fr rrr�
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�rrrr�testTypeGuesserTszPersistTests.testTypeGuesserc	Cs�d|j_|��}t�|�tj�|d�}dat|d��}|�	t
d��W5QRXt�|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_getattrNr1a�
            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__
            r8rzExpected attribute not set.zUnexpected attribute set.)�fakeMainZtestMainModGetattr�mktemp�os�mkdir�path�joinZmainWhileLoadingr2r3rrrZassertIsInstance�listZ
assertTruerZ
somethingElse)r�dirnamerr4Zloadedrrr�testEverythingEphemeralGetattr^s
z+PersistTests.testEverythingEphemeralGetattrc	Cs|d|j_|��}t�|�tj�|d�}t|d��$}|�d�|�d�|�d�W5QRXt	�
|d�|�|jjd�dS)	zU
        Verify that _EverythingEphemeral.__setattr__ won't affect __main__.
        rzpersisttest.ee_setattrr1zimport __main__
z __main__.testMainModSetattr = 2
zapp = None
r8N)r<ZtestMainModSetattrr=r>r?r@rAr2r3rrr�rrCrr4rrr�testEverythingEphemeralSetattr�s


z+PersistTests.testEverythingEphemeralSetattrc	Csl|��}t�|�tj�|d�}t|d��}|�d�W5QRX|�tt	j
|d�|�tt
jd�t�dS)zW
        Test that an exception during load() won't cause _EE to mask __main__
        zpersisttest.ee_exceptionr1zraise ValueError
r8�__main__N)r=r>r?r@rAr2r3r*�
ValueErrorrrr�type�sys�modulesrrErrr� 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
        rGN)rJrK�realMainrr<r:rrr�setUp�szPersistTests.setUpcCs|jtjd<dS)z8
        Restore __main__ to its original value
        rGN)rMrJrKr:rrr�tearDown�szPersistTests.tearDownN)rrr
r$r'r,r0r5r;rDrFrLrNrOrrrrr s		
'r)Z
__future__rrr>rJ�textwraprZ
twisted.trialrZtwisted.persistedrZtwisted.pythonrZtwisted.persisted.stylesrZ
Componentizedr	rr(rZTestCaserrrrr�<module>s �