From: Rico Tzschichholz Date: Fri, 26 Nov 2021 22:03:37 +0000 (+0100) Subject: tests: Rename colliding test cases to avoid conflicts X-Git-Tag: 0.55.1~56 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a44117b51b394f7720823a2b920cf301ef39e7a4;p=thirdparty%2Fvala.git tests: Rename colliding test cases to avoid conflicts --- diff --git a/tests/Makefile.am b/tests/Makefile.am index 1f55b17db..1af0530df 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -198,8 +198,8 @@ TESTS = \ methods/bug599892.vala \ methods/bug613483.vala \ methods/bug615450.test \ - methods/bug620673.test \ methods/bug620673.vala \ + methods/bug620673-2.test \ methods/bug622570.vala \ methods/bug626783.vala \ methods/bug634753.vala \ @@ -746,8 +746,8 @@ TESTS = \ generics/string-literal-comparison.vala \ generics/type-parameter-properties.vala \ generics/value-pointer-type-access.vala \ - generics/bug640330.test \ generics/bug640330.vala \ + generics/bug640330-2.test \ generics/bug694765-1.vala \ generics/bug694765-2.vala \ generics/bug694765-3.vala \ diff --git a/tests/generics/bug640330.test b/tests/generics/bug640330-2.test similarity index 100% rename from tests/generics/bug640330.test rename to tests/generics/bug640330-2.test diff --git a/tests/generics/bug640330.c-expected b/tests/generics/bug640330.c-expected new file mode 100644 index 000000000..58433fd45 --- /dev/null +++ b/tests/generics/bug640330.c-expected @@ -0,0 +1,339 @@ +/* generics_bug640330.c generated by valac, the Vala compiler + * generated from generics_bug640330.vala, do not modify */ + +#include +#include +#include +#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 + +#define TYPE_FOO (foo_get_type ()) +#define FOO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FOO, Foo)) +#define IS_FOO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FOO)) +#define FOO_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_FOO, FooIface)) + +typedef struct _Foo Foo; +typedef struct _FooIface FooIface; + +#define TYPE_BAR (bar_get_type ()) +#define BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BAR, Bar)) +#define BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BAR, BarClass)) +#define IS_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BAR)) +#define IS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BAR)) +#define BAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BAR, BarClass)) + +typedef struct _Bar Bar; +typedef struct _BarClass BarClass; +typedef struct _BarPrivate BarPrivate; +enum { + BAR_0_PROPERTY, + BAR_G_TYPE, + BAR_G_DUP_FUNC, + BAR_G_DESTROY_FUNC, + BAR_NUM_PROPERTIES +}; +static GParamSpec* bar_properties[BAR_NUM_PROPERTIES]; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _FooIface { + GTypeInterface parent_iface; + GType (*get_g_type) (Foo* self); + GBoxedCopyFunc (*get_g_dup_func) (Foo* self); + GDestroyNotify (*get_g_destroy_func) (Foo* self); + gpointer (*get_foo) (Foo* self, gconstpointer g); +}; + +struct _Bar { + GObject parent_instance; + BarPrivate * priv; +}; + +struct _BarClass { + GObjectClass parent_class; +}; + +struct _BarPrivate { + GType g_type; + GBoxedCopyFunc g_dup_func; + GDestroyNotify g_destroy_func; +}; + +static gint Bar_private_offset; +static gpointer bar_parent_class = NULL; +static FooIface * bar_foo_parent_iface = NULL; + +VALA_EXTERN GType foo_get_type (void) G_GNUC_CONST ; +VALA_EXTERN gpointer foo_get_foo (Foo* self, + gconstpointer g); +static gpointer foo_real_get_foo (Foo* self, + gconstpointer g); +static GType foo_get_type_once (void); +VALA_EXTERN GType bar_get_type (void) G_GNUC_CONST ; +G_DEFINE_AUTOPTR_CLEANUP_FUNC (Bar, g_object_unref) +VALA_EXTERN Bar* bar_new (GType g_type, + GBoxedCopyFunc g_dup_func, + GDestroyNotify g_destroy_func); +VALA_EXTERN Bar* bar_construct (GType object_type, + GType g_type, + GBoxedCopyFunc g_dup_func, + GDestroyNotify g_destroy_func); +static GType bar_get_type_once (void); +static void _vala_bar_get_property (GObject * object, + guint property_id, + GValue * value, + GParamSpec * pspec); +static void _vala_bar_set_property (GObject * object, + guint property_id, + const GValue * value, + GParamSpec * pspec); +static void _vala_main (void); + +static gpointer +foo_real_get_foo (Foo* self, + gconstpointer g) +{ + gpointer g_copy = NULL; + gpointer _tmp0_; + GCompareFunc _tmp1_; + gpointer _tmp2_; + gpointer result = NULL; + _vala_assert (FOO_GET_INTERFACE (self)->get_g_type (self) == G_TYPE_STRING, "typeof (G) == typeof (string)"); + _tmp0_ = ((g != NULL) && (FOO_GET_INTERFACE (self)->get_g_dup_func (self) != NULL)) ? FOO_GET_INTERFACE (self)->get_g_dup_func (self) ((gpointer) g) : ((gpointer) g); + g_copy = _tmp0_; + _tmp1_ = ((GCompareFunc) g_strcmp0); + _vala_assert (_tmp1_ ((const gchar*) g_copy, "foo") == 0, "GLib.strcmp ((string) g_copy, \"foo\") == 0"); + _vala_assert (g_copy != g, "g_copy != g"); + _tmp2_ = ((g != NULL) && (FOO_GET_INTERFACE (self)->get_g_dup_func (self) != NULL)) ? FOO_GET_INTERFACE (self)->get_g_dup_func (self) ((gpointer) g) : ((gpointer) g); + result = _tmp2_; + ((g_copy == NULL) || (FOO_GET_INTERFACE (self)->get_g_destroy_func (self) == NULL)) ? NULL : (g_copy = (FOO_GET_INTERFACE (self)->get_g_destroy_func (self) (g_copy), NULL)); + return result; +} + +gpointer +foo_get_foo (Foo* self, + gconstpointer g) +{ + FooIface* _iface_; + g_return_val_if_fail (IS_FOO (self), NULL); + _iface_ = FOO_GET_INTERFACE (self); + if (_iface_->get_foo) { + return _iface_->get_foo (self, g); + } + return NULL; +} + +static void +foo_default_init (FooIface * iface, + gpointer iface_data) +{ + iface->get_foo = foo_real_get_foo; +} + +static GType +foo_get_type_once (void) +{ + static const GTypeInfo g_define_type_info = { sizeof (FooIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) foo_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType foo_type_id; + foo_type_id = g_type_register_static (G_TYPE_INTERFACE, "Foo", &g_define_type_info, 0); + g_type_interface_add_prerequisite (foo_type_id, G_TYPE_OBJECT); + return foo_type_id; +} + +GType +foo_get_type (void) +{ + static volatile gsize foo_type_id__volatile = 0; + if (g_once_init_enter (&foo_type_id__volatile)) { + GType foo_type_id; + foo_type_id = foo_get_type_once (); + g_once_init_leave (&foo_type_id__volatile, foo_type_id); + } + return foo_type_id__volatile; +} + +static inline gpointer +bar_get_instance_private (Bar* self) +{ + return G_STRUCT_MEMBER_P (self, Bar_private_offset); +} + +Bar* +bar_construct (GType object_type, + GType g_type, + GBoxedCopyFunc g_dup_func, + GDestroyNotify g_destroy_func) +{ + Bar * self = NULL; + self = (Bar*) g_object_new (object_type, NULL); + self->priv->g_type = g_type; + self->priv->g_dup_func = g_dup_func; + self->priv->g_destroy_func = g_destroy_func; + return self; +} + +Bar* +bar_new (GType g_type, + GBoxedCopyFunc g_dup_func, + GDestroyNotify g_destroy_func) +{ + return bar_construct (TYPE_BAR, g_type, g_dup_func, g_destroy_func); +} + +static void +bar_class_init (BarClass * klass, + gpointer klass_data) +{ + bar_parent_class = g_type_class_peek_parent (klass); + g_type_class_adjust_private_offset (klass, &Bar_private_offset); + G_OBJECT_CLASS (klass)->get_property = _vala_bar_get_property; + G_OBJECT_CLASS (klass)->set_property = _vala_bar_set_property; + g_object_class_install_property (G_OBJECT_CLASS (klass), BAR_G_TYPE, g_param_spec_gtype ("g-type", "type", "type", G_TYPE_NONE, G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (G_OBJECT_CLASS (klass), BAR_G_DUP_FUNC, g_param_spec_pointer ("g-dup-func", "dup func", "dup func", G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (G_OBJECT_CLASS (klass), BAR_G_DESTROY_FUNC, g_param_spec_pointer ("g-destroy-func", "destroy func", "destroy func", G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); +} + +static GType +bar_foo_get_g_type (Bar* self) +{ + return self->priv->g_type; +} + +static GBoxedCopyFunc +bar_foo_get_g_dup_func (Bar* self) +{ + return self->priv->g_dup_func; +} + +static GDestroyNotify +bar_foo_get_g_destroy_func (Bar* self) +{ + return self->priv->g_destroy_func; +} + +static void +bar_foo_interface_init (FooIface * iface, + gpointer iface_data) +{ + bar_foo_parent_iface = g_type_interface_peek_parent (iface); + iface->get_g_type = (GType (*) (Foo *)) bar_foo_get_g_type; + iface->get_g_dup_func = (GBoxedCopyFunc (*) (Foo *)) bar_foo_get_g_dup_func; + iface->get_g_destroy_func = (GDestroyNotify (*) (Foo *)) bar_foo_get_g_destroy_func; +} + +static void +bar_instance_init (Bar * self, + gpointer klass) +{ + self->priv = bar_get_instance_private (self); +} + +static GType +bar_get_type_once (void) +{ + static const GTypeInfo g_define_type_info = { sizeof (BarClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) bar_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Bar), 0, (GInstanceInitFunc) bar_instance_init, NULL }; + static const GInterfaceInfo foo_info = { (GInterfaceInitFunc) bar_foo_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType bar_type_id; + bar_type_id = g_type_register_static (G_TYPE_OBJECT, "Bar", &g_define_type_info, 0); + g_type_add_interface_static (bar_type_id, TYPE_FOO, &foo_info); + Bar_private_offset = g_type_add_instance_private (bar_type_id, sizeof (BarPrivate)); + return bar_type_id; +} + +GType +bar_get_type (void) +{ + static volatile gsize bar_type_id__volatile = 0; + if (g_once_init_enter (&bar_type_id__volatile)) { + GType bar_type_id; + bar_type_id = bar_get_type_once (); + g_once_init_leave (&bar_type_id__volatile, bar_type_id); + } + return bar_type_id__volatile; +} + +static void +_vala_bar_get_property (GObject * object, + guint property_id, + GValue * value, + GParamSpec * pspec) +{ + Bar * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_BAR, Bar); + switch (property_id) { + case BAR_G_TYPE: + g_value_set_gtype (value, self->priv->g_type); + break; + case BAR_G_DUP_FUNC: + g_value_set_pointer (value, self->priv->g_dup_func); + break; + case BAR_G_DESTROY_FUNC: + g_value_set_pointer (value, self->priv->g_destroy_func); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + +static void +_vala_bar_set_property (GObject * object, + guint property_id, + const GValue * value, + GParamSpec * pspec) +{ + Bar * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_BAR, Bar); + switch (property_id) { + case BAR_G_TYPE: + self->priv->g_type = g_value_get_gtype (value); + break; + case BAR_G_DUP_FUNC: + self->priv->g_dup_func = g_value_get_pointer (value); + break; + case BAR_G_DESTROY_FUNC: + self->priv->g_destroy_func = g_value_get_pointer (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + +static void +_vala_main (void) +{ + Bar* bar = NULL; + Bar* _tmp0_; + gpointer _tmp1_; + gchar* _tmp2_; + _tmp0_ = bar_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free); + bar = _tmp0_; + _tmp1_ = foo_get_foo (G_TYPE_CHECK_INSTANCE_CAST (bar, TYPE_FOO, Foo), "foo"); + _tmp2_ = (gchar*) _tmp1_; + _vala_assert (g_strcmp0 ("foo", _tmp2_) == 0, "\"foo\" == bar.get_foo (\"foo\")"); + _g_free0 (_tmp2_); + _g_object_unref0 (bar); +} + +int +main (int argc, + char ** argv) +{ + _vala_main (); + return 0; +} + diff --git a/tests/methods/bug620673.test b/tests/methods/bug620673-2.test similarity index 100% rename from tests/methods/bug620673.test rename to tests/methods/bug620673-2.test diff --git a/tests/methods/bug620673.c-expected b/tests/methods/bug620673.c-expected new file mode 100644 index 000000000..248cfcef0 --- /dev/null +++ b/tests/methods/bug620673.c-expected @@ -0,0 +1,68 @@ +/* methods_bug620673.c generated by valac, the Vala compiler + * generated from methods_bug620673.vala, do not modify */ + +#include +#include +#include +#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 + +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +VALA_EXTERN void foo (gint bar, + GError** error, + ...); +static void _vala_main (void); + +void +foo (gint bar, + GError** error, + ...) +{ + va_list args = {0}; + gint arg = 0; + gint64 arg2 = 0LL; + gdouble arg3 = 0.0; + _vala_assert (bar == 42, "bar == 42"); + va_start (args, error); + arg = va_arg (args, gint); + arg2 = va_arg (args, gint64); + arg3 = va_arg (args, gdouble); + _vala_assert (arg == 23, "arg == 23"); + _vala_assert (arg2 == 4711LL, "arg2 == 4711LL"); + _vala_assert (arg3 == 3.1415, "arg3 == 3.1415"); + va_end (args); +} + +static void +_vala_main (void) +{ + GError* _inner_error0_ = NULL; + foo (42, &_inner_error0_, 23, 4711LL, 3.1415, NULL); + 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; +} +