[gobject-introspection] Add regress test method for a (skip) return value without out arguments



commit d6ab510feb72ac0ff30f0942e874e2d52f3e82f6
Author: Martin Pitt <martin pitt ubuntu com>
Date:   Fri Oct 21 16:13:02 2011 +0200

    Add regress test method for a (skip) return value without out arguments
    
    This is a requisite for writing a pygobject test case for
    https://bugzilla.gnome.org/show_bug.cgi?id=662383

 tests/scanner/Regress-1.0-expected.gir |   16 ++++++++++++++++
 tests/scanner/regress.c                |   24 ++++++++++++++++++++++++
 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 d8cbd69..161b524 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 d1efb2e..dcd4976 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 fa6e7c2..f76c146 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,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]