| from autodoc import * | |
| import _autodoc | |
| import comment_verifier | |
| import inspect | |
| import sys | |
| def check(got, expected): | |
| comment_verifier.check(got, expected) | |
| check(inspect.getdoc(A), "Proxy of C++ A class.") | |
| check(inspect.getdoc(A.funk), "just a string.") | |
| check(inspect.getdoc(A.func0), | |
| "func0(self, arg2, hello) -> int") | |
| check(inspect.getdoc(A.func1), | |
| "func1(A self, short arg2, Tuple hello) -> int") | |
| check(inspect.getdoc(A.func2), | |
| "func2(self, arg2, hello) -> int\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "arg2: short\n" | |
| "hello: int tuple[2]") | |
| check(inspect.getdoc(A.func3), | |
| "func3(A self, short arg2, Tuple hello) -> int\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "arg2: short\n" | |
| "hello: int tuple[2]") | |
| check(inspect.getdoc(A.func0default), | |
| "func0default(self, e, arg3, hello, f=2) -> int") | |
| check(inspect.getdoc(A.func1default), | |
| "func1default(A self, A e, short arg3, Tuple hello, double f=2) -> int") | |
| check(inspect.getdoc(A.func2default), | |
| "func2default(self, e, arg3, hello, f=2) -> int\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "e: A *\n" | |
| "arg3: short\n" | |
| "hello: int tuple[2]\n" | |
| "f: double") | |
| check(inspect.getdoc(A.func3default), | |
| "func3default(A self, A e, short arg3, Tuple hello, double f=2) -> int\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "e: A *\n" | |
| "arg3: short\n" | |
| "hello: int tuple[2]\n" | |
| "f: double") | |
| check(inspect.getdoc(A.func0static), | |
| "func0static(e, arg2, hello, f=2) -> int") | |
| check(inspect.getdoc(A.func1static), | |
| "func1static(A e, short arg2, Tuple hello, double f=2) -> int") | |
| check(inspect.getdoc(A.func2static), | |
| "func2static(e, arg2, hello, f=2) -> int\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "e: A *\n" | |
| "arg2: short\n" | |
| "hello: int tuple[2]\n" | |
| "f: double") | |
| check(inspect.getdoc(A.func3static), | |
| "func3static(A e, short arg2, Tuple hello, double f=2) -> int\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "e: A *\n" | |
| "arg2: short\n" | |
| "hello: int tuple[2]\n" | |
| "f: double") | |
| check(inspect.getdoc(A.variable_a), | |
| "variable_a" | |
| ) | |
| check(inspect.getdoc(A.variable_b), | |
| "variable_b : int" | |
| ) | |
| check(inspect.getdoc(A.variable_c), | |
| "variable_c" | |
| ) | |
| check(inspect.getdoc(A.variable_d), | |
| "variable_d : int" | |
| ) | |
| # Check the low-level functions (not present when using -builtin) | |
| if not is_python_builtin(): | |
| check(inspect.getdoc(_autodoc.A_funk), "just a string.") | |
| check(inspect.getdoc(_autodoc.A_func0), | |
| "A_func0(self, arg2, hello) -> int") | |
| check(inspect.getdoc(_autodoc.A_func1), | |
| "A_func1(A self, short arg2, Tuple hello) -> int") | |
| check(inspect.getdoc(_autodoc.A_func2), | |
| "A_func2(self, arg2, hello) -> int\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "arg2: short\n" | |
| "hello: int tuple[2]") | |
| check(inspect.getdoc(_autodoc.A_func3), | |
| "A_func3(A self, short arg2, Tuple hello) -> int\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "arg2: short\n" | |
| "hello: int tuple[2]") | |
| check(inspect.getdoc(_autodoc.A_func0default), | |
| "A_func0default(self, e, arg3, hello, f=2) -> int") | |
| check(inspect.getdoc(_autodoc.A_func1default), | |
| "A_func1default(A self, A e, short arg3, Tuple hello, double f=2) -> int") | |
| check(inspect.getdoc(_autodoc.A_func2default), | |
| "A_func2default(self, e, arg3, hello, f=2) -> int\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "e: A *\n" | |
| "arg3: short\n" | |
| "hello: int tuple[2]\n" | |
| "f: double") | |
| check(inspect.getdoc(_autodoc.A_func3default), | |
| "A_func3default(A self, A e, short arg3, Tuple hello, double f=2) -> int\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "e: A *\n" | |
| "arg3: short\n" | |
| "hello: int tuple[2]\n" | |
| "f: double") | |
| check(inspect.getdoc(_autodoc.A_func0static), | |
| "A_func0static(e, arg2, hello, f=2) -> int") | |
| check(inspect.getdoc(_autodoc.A_func1static), | |
| "A_func1static(A e, short arg2, Tuple hello, double f=2) -> int") | |
| check(inspect.getdoc(_autodoc.A_func2static), | |
| "A_func2static(e, arg2, hello, f=2) -> int\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "e: A *\n" | |
| "arg2: short\n" | |
| "hello: int tuple[2]\n" | |
| "f: double") | |
| check(inspect.getdoc(_autodoc.A_func3static), | |
| "A_func3static(A e, short arg2, Tuple hello, double f=2) -> int\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "e: A *\n" | |
| "arg2: short\n" | |
| "hello: int tuple[2]\n" | |
| "f: double") | |
| check(inspect.getdoc(_autodoc.A_variable_a_set), "A_variable_a_set(self, variable_a)") | |
| check(inspect.getdoc(_autodoc.A_variable_a_get), "A_variable_a_get(self) -> int" ) | |
| check(inspect.getdoc(_autodoc.A_variable_b_set), "A_variable_b_set(A self, int variable_b)") | |
| check(inspect.getdoc(_autodoc.A_variable_b_get), "A_variable_b_get(A self) -> int") | |
| check(inspect.getdoc(_autodoc.A_variable_c_set), | |
| "A_variable_c_set(self, variable_c)\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "variable_c: int" | |
| ) | |
| check(inspect.getdoc(_autodoc.A_variable_c_get), "A_variable_c_get(self) -> int") | |
| check(inspect.getdoc(_autodoc.A_variable_d_set), | |
| "A_variable_d_set(A self, int variable_d)\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "variable_d: int" | |
| ) | |
| check(inspect.getdoc(_autodoc.A_variable_d_get), "A_variable_d_get(A self) -> int") | |
| check(inspect.getdoc(_autodoc.new_C), "new_C(a, b, h) -> C") | |
| check(inspect.getdoc(_autodoc.delete_C), "delete_C(self)") | |
| check(inspect.getdoc(_autodoc.new_D), "new_D(int a, int b, Hola h) -> D") | |
| check(inspect.getdoc(_autodoc.delete_D), "delete_D(D self)") | |
| check(inspect.getdoc(_autodoc.new_E), | |
| "new_E(a, b, h) -> E\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "a: special comment for parameter a\n" | |
| "b: another special comment for parameter b\n" | |
| "h: enum Hola" | |
| ) | |
| check(inspect.getdoc(_autodoc.delete_E), "delete_E(self)") | |
| check(inspect.getdoc(_autodoc.new_F), | |
| "new_F(int a, int b, Hola h) -> F\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "a: special comment for parameter a\n" | |
| "b: another special comment for parameter b\n" | |
| "h: enum Hola" | |
| ) | |
| check(inspect.getdoc(_autodoc.delete_F), "delete_F(F self)") | |
| check(inspect.getdoc(_autodoc.B_funk), "B_funk(B self, int c, int d) -> int") | |
| check(inspect.getdoc(_autodoc.TInteger_inout), "TInteger_inout(TInteger self, TInteger t) -> TInteger") | |
| check(inspect.getdoc(B), "Proxy of C++ B class.") | |
| check(inspect.getdoc(C.__init__), "__init__(self, a, b, h) -> C") | |
| check(inspect.getdoc(D.__init__), | |
| "__init__(D self, int a, int b, Hola h) -> D") | |
| check(inspect.getdoc(E.__init__), | |
| "__init__(self, a, b, h) -> E\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "a: special comment for parameter a\n" | |
| "b: another special comment for parameter b\n" | |
| "h: enum Hola" | |
| ) | |
| check(inspect.getdoc(F.__init__), | |
| "__init__(F self, int a, int b, Hola h) -> F\n" | |
| "\n" | |
| "Parameters\n" | |
| "----------\n" | |
| "a: special comment for parameter a\n" | |
| "b: another special comment for parameter b\n" | |
| "h: enum Hola" | |
| ) | |
| check(inspect.getdoc(B.funk), | |
| "funk(B self, int c, int d) -> int") | |
| check(inspect.getdoc(funk), "funk(A e, short arg2, int c, int d) -> int") | |
| check(inspect.getdoc(funkdefaults), | |
| "funkdefaults(A e, short arg2, int c, int d, double f=2) -> int") | |
| check(inspect.getdoc(func_input), "func_input(int * INPUT) -> int") | |
| check(inspect.getdoc(func_output), "func_output() -> int") | |
| check(inspect.getdoc(func_inout), "func_inout(int * INOUT) -> int") | |
| check(inspect.getdoc(func_cb), "func_cb(int c, int d) -> int") | |
| check(inspect.getdoc(banana), "banana(S a, S b, int c, Integer d)") | |
| check(inspect.getdoc(TInteger), "Proxy of C++ T< int > class.") | |
| check(inspect.getdoc(TInteger.__init__), "__init__(TInteger self) -> TInteger") | |
| check(inspect.getdoc(TInteger.inout), "inout(TInteger self, TInteger t) -> TInteger") | |
| check(inspect.getdoc(process), "process(int _from, int _in, int var) -> int") | |
| check(inspect.getdoc(process2), "process2(int _from=0, int _in=1, int var=2) -> int") | |
| check(inspect.getdoc(process3), "process3(int _from, int _in, int var) -> int") | |
| check(inspect.getdoc(process4), "process4(int _from=0, int _in=1, int var=2) -> int") | |
| check(inspect.getdoc(process_complex_defval), "process_complex_defval(val=PROCESS_DEFAULT_VALUE, factor=some_type(-1)) -> int") | |
| check(inspect.getdoc(a_structure.__init__), "__init__(a_structure self) -> a_structure") |