mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-07 12:44:28 +08:00
Added types for atheris (#12462)
This commit is contained in:
6
stubs/atheris/METADATA.toml
Normal file
6
stubs/atheris/METADATA.toml
Normal file
@@ -0,0 +1,6 @@
|
||||
version = "2.3.*"
|
||||
upstream_repository = "https://github.com/google/atheris"
|
||||
partial_stub = true
|
||||
|
||||
[tool.stubtest]
|
||||
ignore_missing_stub = true
|
||||
9
stubs/atheris/atheris/__init__.pyi
Normal file
9
stubs/atheris/atheris/__init__.pyi
Normal file
@@ -0,0 +1,9 @@
|
||||
from collections.abc import Callable
|
||||
|
||||
def Setup(
|
||||
args: list[str],
|
||||
test_one_input: Callable[[bytes], None],
|
||||
**kwargs: bool | Callable[[bytes, int, int], str | bytes] | Callable[[bytes, bytes, int, int], str | bytes] | None,
|
||||
) -> list[str]: ...
|
||||
def Fuzz() -> None: ...
|
||||
def Mutate(data: bytes, max_size: int) -> bytes: ...
|
||||
14
stubs/atheris/atheris/function_hooks.pyi
Normal file
14
stubs/atheris/atheris/function_hooks.pyi
Normal file
@@ -0,0 +1,14 @@
|
||||
from typing import Any
|
||||
|
||||
def hook_re_module() -> None: ...
|
||||
|
||||
class EnabledHooks:
|
||||
def __init__(self) -> None: ...
|
||||
def add(self, hook: str) -> None: ...
|
||||
def __contains__(self, hook: str) -> bool: ...
|
||||
|
||||
enabled_hooks: EnabledHooks
|
||||
|
||||
# args[1] is an arbitrary string method that is called
|
||||
# with the subsequent arguments, so they will vary
|
||||
def _hook_str(*args: Any, **kwargs: Any) -> bool: ...
|
||||
36
stubs/atheris/atheris/import_hook.pyi
Normal file
36
stubs/atheris/atheris/import_hook.pyi
Normal file
@@ -0,0 +1,36 @@
|
||||
import types
|
||||
from collections.abc import Sequence
|
||||
from importlib import abc, machinery
|
||||
from typing_extensions import Self
|
||||
|
||||
def _should_skip(loader: abc.Loader) -> bool: ...
|
||||
|
||||
class AtherisMetaPathFinder(abc.MetaPathFinder):
|
||||
def __init__(
|
||||
self, include_packages: set[str], exclude_modules: set[str], enable_loader_override: bool, trace_dataflow: bool
|
||||
) -> None: ...
|
||||
def find_spec(
|
||||
self, fullname: str, path: Sequence[str] | None, target: types.ModuleType | None = None
|
||||
) -> machinery.ModuleSpec | None: ...
|
||||
def invalidate_caches(self) -> None: ...
|
||||
|
||||
class AtherisSourceFileLoader:
|
||||
def __init__(self, name: str, path: str, trace_dataflow: bool) -> None: ...
|
||||
def get_code(self, fullname: str) -> types.CodeType | None: ...
|
||||
|
||||
class AtherisSourcelessFileLoader:
|
||||
def __init__(self, name: str, path: str, trace_dataflow: bool) -> None: ...
|
||||
def get_code(self, fullname: str) -> types.CodeType | None: ...
|
||||
|
||||
def make_dynamic_atheris_loader(loader: abc.Loader | type[abc.Loader], trace_dataflow: bool) -> abc.Loader: ...
|
||||
|
||||
class HookManager:
|
||||
def __init__(
|
||||
self, include_packages: set[str], exclude_modules: set[str], enable_loader_override: bool, trace_dataflow: bool
|
||||
) -> None: ...
|
||||
def __enter__(self) -> Self: ...
|
||||
def __exit__(self, *args: object) -> None: ...
|
||||
|
||||
def instrument_imports(
|
||||
include: Sequence[str] | None = None, exclude: Sequence[str] | None = None, enable_loader_override: bool = True
|
||||
) -> HookManager: ...
|
||||
7
stubs/atheris/atheris/instrument_bytecode.pyi
Normal file
7
stubs/atheris/atheris/instrument_bytecode.pyi
Normal file
@@ -0,0 +1,7 @@
|
||||
from collections.abc import Callable
|
||||
from typing import TypeVar
|
||||
|
||||
_T = TypeVar("_T")
|
||||
|
||||
def instrument_func(func: Callable[..., _T]) -> Callable[..., _T]: ...
|
||||
def instrument_all() -> None: ...
|
||||
18
stubs/atheris/atheris/utils.pyi
Normal file
18
stubs/atheris/atheris/utils.pyi
Normal file
@@ -0,0 +1,18 @@
|
||||
from typing import Protocol, type_check_only
|
||||
|
||||
def path() -> str: ...
|
||||
@type_check_only
|
||||
class _Writer(Protocol):
|
||||
def isatty(self) -> bool: ...
|
||||
def write(self, content: str, /) -> object: ...
|
||||
def flush(self) -> object: ...
|
||||
|
||||
class ProgressRenderer:
|
||||
def __init__(self, stream: _Writer, total_count: int) -> None: ...
|
||||
def render(self) -> None: ...
|
||||
def erase(self) -> None: ...
|
||||
def drop(self) -> None: ...
|
||||
@property
|
||||
def count(self) -> int: ...
|
||||
@count.setter
|
||||
def count(self, new_count: int) -> None: ...
|
||||
27
stubs/atheris/atheris/version_dependent.pyi
Normal file
27
stubs/atheris/atheris/version_dependent.pyi
Normal file
@@ -0,0 +1,27 @@
|
||||
import types
|
||||
from typing import Final
|
||||
|
||||
PYTHON_VERSION: Final[tuple[int, int]]
|
||||
CONDITIONAL_JUMPS: Final[list[str]]
|
||||
UNCONDITIONAL_JUMPS: Final[list[str]]
|
||||
ENDS_FUNCTION: Final[list[str]]
|
||||
HAVE_REL_REFERENCE: Final[list[str]]
|
||||
HAVE_ABS_REFERENCE: Final[list[str]]
|
||||
REL_REFERENCE_IS_INVERTED: Final[list[str]]
|
||||
|
||||
def rel_reference_scale(opname: str) -> int: ...
|
||||
|
||||
REVERSE_CMP_OP: Final[list[int]]
|
||||
|
||||
def jump_arg_bytes(arg: int) -> int: ...
|
||||
def add_bytes_to_jump_arg(arg: int, size: int) -> int: ...
|
||||
|
||||
class ExceptionTableEntry:
|
||||
def __init__(self, start_offset: int, end_offset: int, target: int, depth: int, lasti: bool) -> None: ...
|
||||
def __eq__(self, other: object) -> bool: ...
|
||||
|
||||
class ExceptionTable:
|
||||
def __init__(self, entries: list[ExceptionTableEntry]) -> None: ...
|
||||
def __eq__(self, other: object) -> bool: ...
|
||||
|
||||
def generate_exceptiontable(original_code: types.CodeType, exception_table_entries: list[ExceptionTableEntry]) -> bytes: ...
|
||||
Reference in New Issue
Block a user