[vala/staging] tests: Add "throws error code" tests to increase coverage



commit 9c2566584ec7f50715a7490c7d4e112506045585
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Sat Oct 23 18:27:29 2021 +0200

    tests: Add "throws error code" tests to increase coverage

 tests/Makefile.am                                  |  2 +
 tests/errors/delegate-throws-error-code.c-expected | 81 ++++++++++++++++++++++
 tests/errors/delegate-throws-error-code.vala       | 11 +++
 tests/errors/method-throws-error-code.c-expected   | 56 +++++++++++++++
 tests/errors/method-throws-error-code.vala         | 11 +++
 5 files changed, 161 insertions(+)
---
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 393c0ee01..cee1f693b 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -635,6 +635,7 @@ TESTS = \
        errors/catch-in-finally.vala \
        errors/catch-no-error-type.test \
        errors/default-gtype.vala \
+       errors/delegate-throws-error-code.vala \
        errors/delegate-throws-no-error-type.test \
        errors/errors.vala \
        errors/errorcode.vala \
@@ -644,6 +645,7 @@ TESTS = \
        errors/invalid-type-check.test \
        errors/loops.vala \
        errors/method-throws.vala \
+       errors/method-throws-error-code.vala \
        errors/method-throws-no-error-type.test \
        errors/unhandled.vala \
        errors/bug567181.vala \
diff --git a/tests/errors/delegate-throws-error-code.c-expected 
b/tests/errors/delegate-throws-error-code.c-expected
new file mode 100644
index 000000000..5ccd6e4de
--- /dev/null
+++ b/tests/errors/delegate-throws-error-code.c-expected
@@ -0,0 +1,81 @@
+/* errors_delegate_throws_error_code.c generated by valac, the Vala compiler
+ * generated from errors_delegate_throws_error_code.vala, do not modify */
+
+#include <glib.h>
+
+#if !defined(VALA_EXTERN)
+#if defined(_MSC_VER)
+#define VALA_EXTERN __declspec(dllexport) extern
+#elif __GNUC__ >= 4
+#define VALA_EXTERN __attribute__((visibility("default"))) extern
+#else
+#define VALA_EXTERN extern
+#endif
+#endif
+
+typedef void (*FooFunc) (gpointer user_data, GError** error);
+
+typedef enum  {
+       FOO_ERROR_FOO,
+       FOO_ERROR_BAR
+} FooError;
+#define FOO_ERROR foo_error_quark ()
+
+VALA_EXTERN GQuark foo_error_quark (void);
+static void _vala_main (void);
+static void __lambda4_ (GError** error);
+static void ___lambda4__foo_func (gpointer self,
+                           GError** error);
+
+GQuark
+foo_error_quark (void)
+{
+       return g_quark_from_static_string ("foo-error-quark");
+}
+
+static void
+__lambda4_ (GError** error)
+{
+}
+
+static void
+___lambda4__foo_func (gpointer self,
+                      GError** error)
+{
+       __lambda4_ (error);
+}
+
+static void
+_vala_main (void)
+{
+       FooFunc foo = NULL;
+       gpointer foo_target;
+       GDestroyNotify foo_target_destroy_notify;
+       GError* _inner_error0_ = NULL;
+       foo = ___lambda4__foo_func;
+       foo_target = NULL;
+       foo_target_destroy_notify = NULL;
+       foo (foo_target, &_inner_error0_);
+       if (G_UNLIKELY (_inner_error0_ != NULL)) {
+               (foo_target_destroy_notify == NULL) ? NULL : (foo_target_destroy_notify (foo_target), NULL);
+               foo = NULL;
+               foo_target = NULL;
+               foo_target_destroy_notify = NULL;
+               g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, 
_inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
+               g_clear_error (&_inner_error0_);
+               return;
+       }
+       (foo_target_destroy_notify == NULL) ? NULL : (foo_target_destroy_notify (foo_target), NULL);
+       foo = NULL;
+       foo_target = NULL;
+       foo_target_destroy_notify = NULL;
+}
+
+int
+main (int argc,
+      char ** argv)
+{
+       _vala_main ();
+       return 0;
+}
+
diff --git a/tests/errors/delegate-throws-error-code.vala b/tests/errors/delegate-throws-error-code.vala
new file mode 100644
index 000000000..c06ed15e1
--- /dev/null
+++ b/tests/errors/delegate-throws-error-code.vala
@@ -0,0 +1,11 @@
+errordomain FooError {
+       FOO,
+       BAR;
+}
+
+delegate void FooFunc () throws FooError.BAR;
+
+void main () {
+       FooFunc foo = () => {};
+       foo ();
+}
diff --git a/tests/errors/method-throws-error-code.c-expected 
b/tests/errors/method-throws-error-code.c-expected
new file mode 100644
index 000000000..1fa8f2be4
--- /dev/null
+++ b/tests/errors/method-throws-error-code.c-expected
@@ -0,0 +1,56 @@
+/* errors_method_throws_error_code.c generated by valac, the Vala compiler
+ * generated from errors_method_throws_error_code.vala, do not modify */
+
+#include <glib.h>
+
+#if !defined(VALA_EXTERN)
+#if defined(_MSC_VER)
+#define VALA_EXTERN __declspec(dllexport) extern
+#elif __GNUC__ >= 4
+#define VALA_EXTERN __attribute__((visibility("default"))) extern
+#else
+#define VALA_EXTERN extern
+#endif
+#endif
+
+typedef enum  {
+       FOO_ERROR_FOO,
+       FOO_ERROR_BAR
+} FooError;
+#define FOO_ERROR foo_error_quark ()
+
+VALA_EXTERN GQuark foo_error_quark (void);
+VALA_EXTERN void foo (GError** error);
+static void _vala_main (void);
+
+GQuark
+foo_error_quark (void)
+{
+       return g_quark_from_static_string ("foo-error-quark");
+}
+
+void
+foo (GError** error)
+{
+}
+
+static void
+_vala_main (void)
+{
+       GError* _inner_error0_ = NULL;
+       foo (&_inner_error0_);
+       if (G_UNLIKELY (_inner_error0_ != NULL)) {
+               g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, 
_inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
+               g_clear_error (&_inner_error0_);
+               return;
+       }
+}
+
+int
+main (int argc,
+      char ** argv)
+{
+       _vala_main ();
+       return 0;
+}
+
diff --git a/tests/errors/method-throws-error-code.vala b/tests/errors/method-throws-error-code.vala
new file mode 100644
index 000000000..dbe2d92b8
--- /dev/null
+++ b/tests/errors/method-throws-error-code.vala
@@ -0,0 +1,11 @@
+errordomain FooError {
+       FOO,
+       BAR;
+}
+
+void foo () throws FooError.BAR {
+}
+
+void main () {
+       foo ();
+}


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