OXIESEC PANEL
- Current Dir:
/
/
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
_pytest
Server IP: 89.117.27.120
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
09/05/2025 09:34:06 AM
rwxr-xr-x
📄
__init__.py
356 bytes
12/18/2024 10:23:16 AM
rw-r--r--
📁
__pycache__
-
02/07/2025 10:01:29 PM
rwxr-xr-x
📄
_argcomplete.py
3.71 KB
12/18/2024 10:23:16 AM
rw-r--r--
📁
_code
-
02/07/2025 10:01:29 PM
rwxr-xr-x
📁
_io
-
02/07/2025 10:01:29 PM
rwxr-xr-x
📁
_py
-
02/07/2025 10:01:29 PM
rwxr-xr-x
📄
_version.py
160 bytes
12/18/2024 10:23:16 AM
rw-r--r--
📁
assertion
-
02/07/2025 10:01:29 PM
rwxr-xr-x
📄
cacheprovider.py
20.89 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
capture.py
33.92 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
compat.py
12.89 KB
12/18/2024 10:23:16 AM
rw-r--r--
📁
config
-
02/07/2025 10:01:29 PM
rwxr-xr-x
📄
debugging.py
13.18 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
deprecated.py
5.36 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
doctest.py
25.35 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
faulthandler.py
3.04 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
fixtures.py
65.51 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
freeze_support.py
1.31 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
helpconfig.py
8.34 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
hookspec.py
31.79 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
junitxml.py
25.11 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
legacypath.py
16.53 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
logging.py
33.23 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
main.py
31.73 KB
12/18/2024 10:23:16 AM
rw-r--r--
📁
mark
-
02/07/2025 10:01:29 PM
rwxr-xr-x
📄
monkeypatch.py
14.51 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
nodes.py
25.94 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
nose.py
1.65 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
outcomes.py
10.02 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
pastebin.py
3.86 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
pathlib.py
25.22 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
py.typed
0 bytes
12/18/2024 10:23:16 AM
rw-r--r--
📄
pytester.py
60.52 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
pytester_assertions.py
2.27 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
python.py
69.49 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
python_api.py
37.5 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
python_path.py
709 bytes
12/18/2024 10:23:16 AM
rw-r--r--
📄
recwarn.py
10.67 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
reports.py
20.35 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
runner.py
18.01 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
scope.py
2.81 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
setuponly.py
3.18 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
setupplan.py
1.19 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
skipping.py
9.96 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
stash.py
2.98 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
stepwise.py
4.6 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
terminal.py
52.25 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
threadexception.py
2.85 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
timing.py
375 bytes
12/18/2024 10:23:16 AM
rw-r--r--
📄
tmpdir.py
11.43 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
unittest.py
14.46 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
unraisableexception.py
3.12 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
warning_types.py
4.37 KB
12/18/2024 10:23:16 AM
rw-r--r--
📄
warnings.py
4.95 KB
12/18/2024 10:23:16 AM
rw-r--r--
Editing: faulthandler.py
Close
import io import os import sys from typing import Generator import pytest from _pytest.config import Config from _pytest.config.argparsing import Parser from _pytest.nodes import Item from _pytest.stash import StashKey fault_handler_stderr_fd_key = StashKey[int]() fault_handler_originally_enabled_key = StashKey[bool]() def pytest_addoption(parser: Parser) -> None: help = ( "Dump the traceback of all threads if a test takes " "more than TIMEOUT seconds to finish" ) parser.addini("faulthandler_timeout", help, default=0.0) def pytest_configure(config: Config) -> None: import faulthandler config.stash[fault_handler_stderr_fd_key] = os.dup(get_stderr_fileno()) config.stash[fault_handler_originally_enabled_key] = faulthandler.is_enabled() faulthandler.enable(file=config.stash[fault_handler_stderr_fd_key]) def pytest_unconfigure(config: Config) -> None: import faulthandler faulthandler.disable() # Close the dup file installed during pytest_configure. if fault_handler_stderr_fd_key in config.stash: os.close(config.stash[fault_handler_stderr_fd_key]) del config.stash[fault_handler_stderr_fd_key] if config.stash.get(fault_handler_originally_enabled_key, False): # Re-enable the faulthandler if it was originally enabled. faulthandler.enable(file=get_stderr_fileno()) def get_stderr_fileno() -> int: try: fileno = sys.stderr.fileno() # The Twisted Logger will return an invalid file descriptor since it is not backed # by an FD. So, let's also forward this to the same code path as with pytest-xdist. if fileno == -1: raise AttributeError() return fileno except (AttributeError, io.UnsupportedOperation): # pytest-xdist monkeypatches sys.stderr with an object that is not an actual file. # https://docs.python.org/3/library/faulthandler.html#issue-with-file-descriptors # This is potentially dangerous, but the best we can do. return sys.__stderr__.fileno() def get_timeout_config_value(config: Config) -> float: return float(config.getini("faulthandler_timeout") or 0.0) @pytest.hookimpl(hookwrapper=True, trylast=True) def pytest_runtest_protocol(item: Item) -> Generator[None, None, None]: timeout = get_timeout_config_value(item.config) if timeout > 0: import faulthandler stderr = item.config.stash[fault_handler_stderr_fd_key] faulthandler.dump_traceback_later(timeout, file=stderr) try: yield finally: faulthandler.cancel_dump_traceback_later() else: yield @pytest.hookimpl(tryfirst=True) def pytest_enter_pdb() -> None: """Cancel any traceback dumping due to timeout before entering pdb.""" import faulthandler faulthandler.cancel_dump_traceback_later() @pytest.hookimpl(tryfirst=True) def pytest_exception_interact() -> None: """Cancel any traceback dumping due to an interactive exception being raised.""" import faulthandler faulthandler.cancel_dump_traceback_later()