def test_isbuiltin(app): from target.functions import builtin_func, func, partial_builtin_func, partial_func from target.methods import Base assert inspect.isbuiltin(builtin_func) is True # builtin function assert inspect.isbuiltin(partial_builtin_func) is True # partial-ed builtin function assert inspect.isbuiltin(func) is False # function assert inspect.isbuiltin(partial_func) is False # partial-ed function assert inspect.isbuiltin(Base.meth) is False # method of class assert inspect.isbuiltin(Base().meth) is False # method of instance
def is_function_or_method(obj: Any) -> bool: # noqa: D102 return inspect.isfunction(obj) or inspect.isbuiltin( obj) or inspect.ismethod(obj)