# Path: oslo_utils/reflection.py
#     _TYPE_TYPE = types.TypeType
#     _TYPE_TYPE = type
# _BUILTIN_MODULES = ('builtins', '__builtin__', '__builtins__', 'exceptions')
# LOG = logging.getLogger(__name__)
# def get_members(obj, exclude_hidden=True):
# def get_member_names(obj, exclude_hidden=True):
# def get_class_name(obj, fully_qualified=True, truncate_builtins=True):
# def get_all_class_names(obj, up_to=object,
#                         fully_qualified=True, truncate_builtins=True):
# def get_callable_name(function):
# def get_method_self(method):
# def is_same_callback(callback1, callback2, strict=True):
# def is_bound_method(method):
# def is_subclass(obj, cls):
# def get_callable_args(function, required_only=False):
# def accepts_kwargs(function):


import functools
import sys
from oslotest import base as test_base
from oslo_utils import reflection
    def test_mere_function(self):
        result = reflection.get_callable_args(mere_function)
        self.assertEqual(['a', 'b'], result)

    def test_function_with_defaults(self):
        result = reflection.get_callable_args(function_with_defs)
        self.assertEqual(['a', 'b', 'optional'], result)

    def test_required_only(self):
        result = reflection.get_callable_args(function_with_defs,
                                              required_only=True)
        self.assertEqual(['a', 'b'], result)

    def test_method(self):
        result = reflection.get_callable_args(Class.method)
        self.assertEqual(['self', 'c', 'd'], result)

    def test_instance_method(self):
        result = reflection.get_callable_args(Class().method)
        self.assertEqual(['c', 'd'], result)

    def test_class_method(self):
        result = reflection.get_callable_args(Class.class_method)
        self.assertEqual(['g', 'h'], result)

    def test_class_constructor(self):
        result = reflection.get_callable_args(ClassWithInit)
        self.assertEqual(['k', 'lll'], result)

    def test_class_with_call(self):

# Path: oslo_utils/reflection.py
#     _TYPE_TYPE = types.TypeType
#     _TYPE_TYPE = type
# _BUILTIN_MODULES = ('builtins', '__builtin__', '__builtins__', 'exceptions')
# LOG = logging.getLogger(__name__)
# def get_members(obj, exclude_hidden=True):
# def get_member_names(obj, exclude_hidden=True):
# def get_class_name(obj, fully_qualified=True, truncate_builtins=True):
# def get_all_class_names(obj, up_to=object,
#                         fully_qualified=True, truncate_builtins=True):
# def get_callable_name(function):
# def get_method_self(method):
# def is_same_callback(callback1, callback2, strict=True):
# def is_bound_method(method):
# def is_subclass(obj, cls):
# def get_callable_args(function, required_only=False):
# def accepts_kwargs(function):


# Path: oslo_utils/tests/test_reflection.py
import functools
import sys
from oslotest import base as test_base
from oslo_utils import reflection

    def test_mere_function(self):
        result = reflection.get_callable_args(mere_function)
        self.assertEqual(['a', 'b'], result)

    def test_function_with_defaults(self):
        result = reflection.get_callable_args(function_with_defs)
        self.assertEqual(['a', 'b', 'optional'], result)

    def test_required_only(self):
        result = reflection.get_callable_args(function_with_defs,
                                              required_only=True)
        self.assertEqual(['a', 'b'], result)

    def test_method(self):
        result = reflection.get_callable_args(Class.method)
        self.assertEqual(['self', 'c', 'd'], result)

    def test_instance_method(self):
        result = reflection.get_callable_args(Class().method)
        self.assertEqual(['c', 'd'], result)

    def test_class_method(self):
        result = reflection.get_callable_args(Class.class_method)
        self.assertEqual(['g', 'h'], result)

    def test_class_constructor(self):
        result = reflection.get_callable_args(ClassWithInit)
        self.assertEqual(['k', 'lll'], result)

    def test_class_with_call(self):

        result = reflection.get_callable_args(CallableClass())