From: Rico Tzschichholz Date: Sat, 23 Oct 2021 16:27:29 +0000 (+0200) Subject: tests: Add "throws error code" tests to increase coverage X-Git-Tag: 0.55.1~112 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9c2566584ec7f50715a7490c7d4e112506045585;p=thirdparty%2Fvala.git tests: Add "throws error code" tests to increase coverage --- 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 + +#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 + +#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 (); +}