SILENT KILLERPanel

Current Path: > > opt > cloudlinux > venv > lib64 > python3.11 > site-packages > _pytest > >


Operation   : Linux premium131.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
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt/cloudlinux/venv/lib64/python3.11/site-packages/_pytest//

NameTypeSizeLast ModifiedActions
__pycache__ Directory - -
_code Directory - -
_io Directory - -
_py Directory - -
assertion Directory - -
config Directory - -
mark Directory - -
__init__.py File 356 bytes April 17 2025 13:10:59.
_argcomplete.py File 3794 bytes April 17 2025 13:10:59.
_version.py File 160 bytes April 17 2025 13:10:59.
cacheprovider.py File 21392 bytes April 17 2025 13:10:59.
capture.py File 34737 bytes April 17 2025 13:10:59.
compat.py File 13200 bytes April 17 2025 13:10:59.
debugging.py File 13498 bytes April 17 2025 13:10:59.
deprecated.py File 5487 bytes April 17 2025 13:10:59.
doctest.py File 25961 bytes April 17 2025 13:10:59.
faulthandler.py File 3114 bytes April 17 2025 13:10:59.
fixtures.py File 67085 bytes April 17 2025 13:10:59.
freeze_support.py File 1339 bytes April 17 2025 13:10:59.
helpconfig.py File 8538 bytes April 17 2025 13:10:59.
hookspec.py File 32558 bytes April 17 2025 13:10:59.
junitxml.py File 25716 bytes April 17 2025 13:10:59.
legacypath.py File 16929 bytes April 17 2025 13:10:59.
logging.py File 34031 bytes April 17 2025 13:10:59.
main.py File 32491 bytes April 17 2025 13:10:59.
monkeypatch.py File 14857 bytes April 17 2025 13:10:59.
nodes.py File 26559 bytes April 17 2025 13:10:59.
nose.py File 1688 bytes April 17 2025 13:10:59.
outcomes.py File 10256 bytes April 17 2025 13:10:59.
pastebin.py File 3949 bytes April 17 2025 13:10:59.
pathlib.py File 25824 bytes April 17 2025 13:10:59.
py.typed File 0 bytes April 17 2025 13:10:59.
pytester.py File 61971 bytes April 17 2025 13:10:59.
pytester_assertions.py File 2327 bytes April 17 2025 13:10:59.
python.py File 71155 bytes April 17 2025 13:10:59.
python_api.py File 38400 bytes April 17 2025 13:10:59.
python_path.py File 709 bytes April 17 2025 13:10:59.
recwarn.py File 10930 bytes April 17 2025 13:10:59.
reports.py File 20840 bytes April 17 2025 13:10:59.
runner.py File 18447 bytes April 17 2025 13:10:59.
scope.py File 2882 bytes April 17 2025 13:10:59.
setuponly.py File 3261 bytes April 17 2025 13:10:59.
setupplan.py File 1214 bytes April 17 2025 13:10:59.
skipping.py File 10200 bytes April 17 2025 13:10:59.
stash.py File 3055 bytes April 17 2025 13:10:59.
stepwise.py File 4714 bytes April 17 2025 13:10:59.
terminal.py File 53509 bytes April 17 2025 13:10:59.
threadexception.py File 2915 bytes April 17 2025 13:10:59.
timing.py File 375 bytes April 17 2025 13:10:59.
tmpdir.py File 11708 bytes April 17 2025 13:10:59.
unittest.py File 14809 bytes April 17 2025 13:10:59.
unraisableexception.py File 3191 bytes April 17 2025 13:10:59.
warning_types.py File 4474 bytes April 17 2025 13:10:59.
warnings.py File 5070 bytes April 17 2025 13:10:59.

Reading File: //opt/cloudlinux/venv/lib64/python3.11/site-packages/_pytest///unraisableexception.py

import sys
import traceback
import warnings
from types import TracebackType
from typing import Any
from typing import Callable
from typing import Generator
from typing import Optional
from typing import Type

import pytest


# Copied from cpython/Lib/test/support/__init__.py, with modifications.
class catch_unraisable_exception:
    """Context manager catching unraisable exception using sys.unraisablehook.

    Storing the exception value (cm.unraisable.exc_value) creates a reference
    cycle. The reference cycle is broken explicitly when the context manager
    exits.

    Storing the object (cm.unraisable.object) can resurrect it if it is set to
    an object which is being finalized. Exiting the context manager clears the
    stored object.

    Usage:
        with catch_unraisable_exception() as cm:
            # code creating an "unraisable exception"
            ...
            # check the unraisable exception: use cm.unraisable
            ...
        # cm.unraisable attribute no longer exists at this point
        # (to break a reference cycle)
    """

    def __init__(self) -> None:
        self.unraisable: Optional["sys.UnraisableHookArgs"] = None
        self._old_hook: Optional[Callable[["sys.UnraisableHookArgs"], Any]] = None

    def _hook(self, unraisable: "sys.UnraisableHookArgs") -> None:
        # Storing unraisable.object can resurrect an object which is being
        # finalized. Storing unraisable.exc_value creates a reference cycle.
        self.unraisable = unraisable

    def __enter__(self) -> "catch_unraisable_exception":
        self._old_hook = sys.unraisablehook
        sys.unraisablehook = self._hook
        return self

    def __exit__(
        self,
        exc_type: Optional[Type[BaseException]],
        exc_val: Optional[BaseException],
        exc_tb: Optional[TracebackType],
    ) -> None:
        assert self._old_hook is not None
        sys.unraisablehook = self._old_hook
        self._old_hook = None
        del self.unraisable


def unraisable_exception_runtest_hook() -> Generator[None, None, None]:
    with catch_unraisable_exception() as cm:
        yield
        if cm.unraisable:
            if cm.unraisable.err_msg is not None:
                err_msg = cm.unraisable.err_msg
            else:
                err_msg = "Exception ignored in"
            msg = f"{err_msg}: {cm.unraisable.object!r}\n\n"
            msg += "".join(
                traceback.format_exception(
                    cm.unraisable.exc_type,
                    cm.unraisable.exc_value,
                    cm.unraisable.exc_traceback,
                )
            )
            warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))


@pytest.hookimpl(hookwrapper=True, tryfirst=True)
def pytest_runtest_setup() -> Generator[None, None, None]:
    yield from unraisable_exception_runtest_hook()


@pytest.hookimpl(hookwrapper=True, tryfirst=True)
def pytest_runtest_call() -> Generator[None, None, None]:
    yield from unraisable_exception_runtest_hook()


@pytest.hookimpl(hookwrapper=True, tryfirst=True)
def pytest_runtest_teardown() -> Generator[None, None, None]:
    yield from unraisable_exception_runtest_hook()

SILENT KILLER Tool