diff options
-rw-r--r-- | tests/scanner/Regress-1.0-expected.gir | 16 | ||||
-rw-r--r-- | tests/scanner/regress.c | 24 | ||||
-rw-r--r-- | tests/scanner/regress.h | 4 |
3 files changed, 44 insertions, 0 deletions
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir index d8cbd69c..161b5242 100644 --- a/tests/scanner/Regress-1.0-expected.gir +++ b/tests/scanner/Regress-1.0-expected.gir @@ -750,6 +750,22 @@ case.</doc> </parameter> </parameters> </method> + <method name="skip_return_val_no_out" + c:identifier="regress_test_obj_skip_return_val_no_out" + throws="1"> + <doc xml:whitespace="preserve">Check that the return value is skipped. Succeed if a is nonzero, otherwise +raise an error.</doc> + <return-value transfer-ownership="none" skip="1"> + <doc xml:whitespace="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc> + <type name="gboolean" c:type="gboolean"/> + </return-value> + <parameters> + <parameter name="a" transfer-ownership="none"> + <doc xml:whitespace="preserve">Parameter.</doc> + <type name="gint" c:type="gint"/> + </parameter> + </parameters> + </method> <method name="torture_signature_0" c:identifier="regress_test_obj_torture_signature_0"> <return-value transfer-ownership="none"> diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c index d1efb2e3..dcd4976e 100644 --- a/tests/scanner/regress.c +++ b/tests/scanner/regress.c @@ -2254,6 +2254,30 @@ regress_test_obj_skip_return_val (RegressTestObj *obj, } /** + * regress_test_obj_skip_return_val_no_out: + * @obj: a #RegressTestObj + * @a: Parameter. + * @error: Return location for error. + * + * Check that the return value is skipped. Succeed if a is nonzero, otherwise + * raise an error. + * + * Returns: (skip): %TRUE if the call succeeds, %FALSE if @error is set. + */ +gboolean +regress_test_obj_skip_return_val_no_out (RegressTestObj *obj, + gint a, + GError **error) +{ + if (a == 0) { + g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "a is zero"); + return FALSE; + } else { + return TRUE; + } +} + +/** * regress_test_obj_skip_param: * @obj: A #RegressTestObj. * @a: Parameter. diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h index fa6e7c27..f76c1467 100644 --- a/tests/scanner/regress.h +++ b/tests/scanner/regress.h @@ -392,6 +392,10 @@ gboolean regress_test_obj_skip_return_val (RegressTestObj *obj, gint num2, GError **error); +gboolean regress_test_obj_skip_return_val_no_out (RegressTestObj *obj, + gint a, + GError **error); + gboolean regress_test_obj_skip_param (RegressTestObj *obj, gint a, gint *out_b, |