GRAYBYTE WORDPRESS FILE MANAGER2366

Server IP : 198.54.121.189 / Your IP : 216.73.216.112
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/cloudlinux/venv/lib/python3.11/site-packages/dill/tests/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/cloudlinux/venv/lib/python3.11/site-packages/dill/tests//test_logger.py
#!/usr/bin/env python

# Author: Leonardo Gama (@leogama)
# Copyright (c) 2022-2023 The Uncertainty Quantification Foundation.
# License: 3-clause BSD.  The full license text is available at:
#  - https://github.com/uqfoundation/dill/blob/master/LICENSE

import logging
import re
import tempfile

import dill
from dill import detect
from dill.logger import stderr_handler, adapter as logger

try:
    from StringIO import StringIO
except ImportError:
    from io import StringIO

test_obj = {'a': (1, 2), 'b': object(), 'f': lambda x: x**2, 'big': list(range(10))}

def test_logging(should_trace):
    buffer = StringIO()
    handler = logging.StreamHandler(buffer)
    logger.addHandler(handler)
    try:
        dill.dumps(test_obj)
        if should_trace:
            regex = re.compile(r'(\S*┬ \w.*[^)]'              # begin pickling object
                               r'|│*└ # \w.* \[\d+ (\wi)?B])' # object written (with size)
                               )
            for line in buffer.getvalue().splitlines():
                assert regex.fullmatch(line)
            return buffer.getvalue()
        else:
            assert buffer.getvalue() == ""
    finally:
        logger.removeHandler(handler)
        buffer.close()

def test_trace_to_file(stream_trace):
    file = tempfile.NamedTemporaryFile(mode='r')
    with detect.trace(file.name, mode='w'):
        dill.dumps(test_obj)
    file_trace = file.read()
    file.close()
    # Apparently, objects can change location in memory...
    reghex = re.compile(r'0x[0-9A-Za-z]+')
    file_trace, stream_trace = reghex.sub('0x', file_trace), reghex.sub('0x', stream_trace)
    # PyPy prints dictionary contents with repr(dict)...
    regdict = re.compile(r'(dict\.__repr__ of ).*')
    file_trace, stream_trace = regdict.sub(r'\1{}>', file_trace), regdict.sub(r'\1{}>', stream_trace)
    assert file_trace == stream_trace

if __name__ == '__main__':
    logger.removeHandler(stderr_handler)
    test_logging(should_trace=False)
    detect.trace(True)
    test_logging(should_trace=True)
    detect.trace(False)
    test_logging(should_trace=False)

    loglevel = logging.ERROR
    logger.setLevel(loglevel)
    with detect.trace():
        stream_trace = test_logging(should_trace=True)
    test_logging(should_trace=False)
    assert logger.getEffectiveLevel() == loglevel
    test_trace_to_file(stream_trace)

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
May 15 2025 08:30:33
root / root
0755
__pycache__
--
May 15 2025 08:30:33
root / root
0755
__init__.py
0.489 KB
April 17 2025 13:10:59
root / root
0644
__main__.py
0.878 KB
April 17 2025 13:10:59
root / root
0644
test_abc.py
3.748 KB
April 17 2025 13:10:59
root / root
0644
test_check.py
1.363 KB
April 17 2025 13:10:59
root / root
0644
test_classdef.py
6.992 KB
April 17 2025 13:10:59
root / root
0644
test_dataclasses.py
0.869 KB
April 17 2025 13:10:59
root / root
0644
test_detect.py
3.987 KB
April 17 2025 13:10:59
root / root
0644
test_dictviews.py
1.306 KB
April 17 2025 13:10:59
root / root
0644
test_diff.py
2.604 KB
April 17 2025 13:10:59
root / root
0644
test_extendpickle.py
1.284 KB
April 17 2025 13:10:59
root / root
0644
test_fglobals.py
1.637 KB
April 17 2025 13:10:59
root / root
0644
test_file.py
13.26 KB
April 17 2025 13:10:59
root / root
0644
test_functions.py
4.167 KB
April 17 2025 13:10:59
root / root
0644
test_functors.py
0.908 KB
April 17 2025 13:10:59
root / root
0644
test_logger.py
2.329 KB
April 17 2025 13:10:59
root / root
0644
test_mixins.py
3.913 KB
April 17 2025 13:10:59
root / root
0644
test_module.py
1.897 KB
April 17 2025 13:10:59
root / root
0644
test_moduledict.py
1.154 KB
April 17 2025 13:10:59
root / root
0644
test_nested.py
3.072 KB
April 17 2025 13:10:59
root / root
0644
test_objects.py
1.791 KB
April 17 2025 13:10:59
root / root
0644
test_properties.py
1.314 KB
April 17 2025 13:10:59
root / root
0644
test_pycapsule.py
1.384 KB
April 17 2025 13:10:59
root / root
0644
test_recursive.py
4.084 KB
April 17 2025 13:10:59
root / root
0644
test_registered.py
1.536 KB
April 17 2025 13:10:59
root / root
0644
test_restricted.py
0.765 KB
April 17 2025 13:10:59
root / root
0644
test_selected.py
3.143 KB
April 17 2025 13:10:59
root / root
0644
test_session.py
9.923 KB
April 17 2025 13:10:59
root / root
0644
test_source.py
5.895 KB
April 17 2025 13:10:59
root / root
0644
test_temp.py
2.558 KB
April 17 2025 13:10:59
root / root
0644
test_weakref.py
1.564 KB
April 17 2025 13:10:59
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF