diff options
-rw-r--r-- | tests/scanner/Makefile.am | 10 | ||||
-rw-r--r-- | tests/scanner/annotation.c | 2 | ||||
-rw-r--r-- | tests/scanner/annotation.h | 94 | ||||
-rw-r--r-- | tests/scanner/barapp.c | 2 | ||||
-rw-r--r-- | tests/scanner/barapp.h | 9 | ||||
-rw-r--r-- | tests/scanner/drawable.c | 2 | ||||
-rw-r--r-- | tests/scanner/drawable.h | 11 | ||||
-rw-r--r-- | tests/scanner/foo.c | 2 | ||||
-rw-r--r-- | tests/scanner/foo.h | 145 | ||||
-rw-r--r-- | tests/scanner/gettype.c | 2 | ||||
-rw-r--r-- | tests/scanner/gettype.h | 11 | ||||
-rw-r--r-- | tests/scanner/gtkfrob.c | 2 | ||||
-rw-r--r-- | tests/scanner/gtkfrob.h | 2 | ||||
-rw-r--r-- | tests/scanner/regress.c | 2 | ||||
-rw-r--r-- | tests/scanner/regress.h | 419 | ||||
-rw-r--r-- | tests/scanner/sletter.c | 1 | ||||
-rw-r--r-- | tests/scanner/sletter.h | 7 | ||||
-rw-r--r-- | tests/scanner/typedefs.c | 2 | ||||
-rw-r--r-- | tests/scanner/typedefs.h | 12 | ||||
-rw-r--r-- | tests/scanner/utility.c | 2 | ||||
-rw-r--r-- | tests/scanner/utility.h | 7 | ||||
-rw-r--r-- | tests/scanner/warnlib.h | 7 |
22 files changed, 752 insertions, 1 deletions
diff --git a/tests/scanner/Makefile.am b/tests/scanner/Makefile.am index 8b20141c..92ab12a3 100644 --- a/tests/scanner/Makefile.am +++ b/tests/scanner/Makefile.am @@ -20,8 +20,9 @@ EXTRA_LTLIBRARIES = \ $(NULL) CLEANFILES += $(EXTRA_LTLIBRARIES) +GI_SCANNER_CFLAGS = -I$(top_srcdir)/tests AM_CPPFLAGS = -I$(top_srcdir)/girepository -AM_CFLAGS = $(GIO_CFLAGS) $(GOBJECT_CFLAGS) $(GTHREAD_CFLAGS) +AM_CFLAGS = $(GIO_CFLAGS) $(GOBJECT_CFLAGS) $(GTHREAD_CFLAGS) $(GI_HIDDEN_VISIBILITY_CFLAGS) $(GI_SCANNER_CFLAGS) # -rpath needed to force libtool to build a shared library for a check_LTLIBRARIES # target. See http://lists.gnu.org/archive/html/automake/2005-10/msg00107.html AM_LDFLAGS = -rpath /unused -avoid-version @@ -82,6 +83,7 @@ EXTRA_DIST = $(EXPECTEDGIRS) SLetter-1.0.gir: $(top_builddir)/Gio-2.0.gir libsletter.la SLetter_1_0_gir_LIBS = libsletter.la +SLetter_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS) SLetter_1_0_gir_INCLUDES = Gio-2.0 SLetter_1_0_gir_FILES = $(libsletter_la_SOURCES) SLetter_1_0_gir_SCANNERFLAGS = --identifier-prefix=S --c-include="sletter.h" --warn-error @@ -100,6 +102,7 @@ GIRS += Regress-1.0.gir WarnLib-1.0.gir: $(top_builddir)/Gio-2.0.gir libwarnlib.la WarnLib_1_0_gir_LIBS = libwarnlib.la +WarnLib_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS) WarnLib_1_0_gir_INCLUDES = Gio-2.0 WarnLib_1_0_gir_FILES = $(libwarnlib_la_SOURCES) WarnLib_1_0_gir_SCANNERFLAGS = --c-include="warnlib.h" --symbol-prefix=warnlib_ @@ -108,6 +111,7 @@ GIRS += WarnLib-1.0.gir Utility-1.0.gir: libutility.la Utility_1_0_gir_PACKAGES = gobject-2.0 Utility_1_0_gir_LIBS = libutility.la +Utility_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS) Utility_1_0_gir_INCLUDES = GObject-2.0 Utility_1_0_gir_FILES = $(libutility_la_SOURCES) Utility_1_0_gir_SCANNERFLAGS = --c-include="utility.h" --warn-error @@ -117,6 +121,7 @@ GIRS += Utility-1.0.gir GtkFrob-1.0.gir: libgtkfrob.la GtkFrob_1_0_gir_PACKAGES = gobject-2.0 GtkFrob_1_0_gir_LIBS = libgtkfrob.la +GtkFrob_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS) GtkFrob_1_0_gir_INCLUDES = GObject-2.0 GtkFrob_1_0_gir_FILES = $(libgtkfrob_la_SOURCES) GtkFrob_1_0_gir_SCANNERFLAGS = --identifier-prefix=Gtk --symbol-prefix=gtk_frob --warn-error @@ -127,6 +132,7 @@ GIRS += GtkFrob-1.0.gir GetType-1.0.gir: libgettype.la GetType_1_0_gir_PACKAGES = gobject-2.0 GetType_1_0_gir_LIBS = libgettype.la +GetType_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS) GetType_1_0_gir_INCLUDES = GObject-2.0 GetType_1_0_gir_FILES = $(libgettype_la_SOURCES) GetType_1_0_gir_SCANNERFLAGS = --c-include="gettype.h" --identifier-prefix=GetType --symbol-prefix=gettype @@ -135,6 +141,7 @@ GIRS += GetType-1.0.gir Typedefs-1.0.gir: libtypedefs.la Typedefs_1_0_gir_PACKAGES = gobject-2.0 Typedefs_1_0_gir_LIBS = libtypedefs.la +Typedefs_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS) Typedefs_1_0_gir_INCLUDES = GObject-2.0 Typedefs_1_0_gir_FILES = $(libtypedefs_la_SOURCES) Typedefs_1_0_gir_SCANNERFLAGS = --c-include="typedefs.h" --identifier-prefix=Typedefs --symbol-prefix=typedefs @@ -151,6 +158,7 @@ barapp_LDFLAGS = -export-dynamic Bar-1.0.gir: barapp Bar_1_0_gir_PACKAGES = gobject-2.0 Bar_1_0_gir_PROGRAM = ./barapp +Bar_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS) Bar_1_0_gir_INCLUDES = GObject-2.0 Bar_1_0_gir_FILES = $(barapp_SOURCES) Bar_1_0_gir_SCANNERFLAGS = --accept-unprefixed diff --git a/tests/scanner/annotation.c b/tests/scanner/annotation.c index 30dc72ef..173db974 100644 --- a/tests/scanner/annotation.c +++ b/tests/scanner/annotation.c @@ -1,4 +1,6 @@ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ +#include "config.h" + #include "annotation.h" char backslash_parsing_tester = '\\'; diff --git a/tests/scanner/annotation.h b/tests/scanner/annotation.h index b0cbe42d..07894dfc 100644 --- a/tests/scanner/annotation.h +++ b/tests/scanner/annotation.h @@ -1,6 +1,8 @@ #ifndef __REGRESS_ANNOTATION_OBJECT_H__ #define __REGRESS_ANNOTATION_OBJECT_H__ +#include "gitestmacros.h" + #include <glib-object.h> typedef enum /*< flags,prefix=ANN >*/ @@ -58,95 +60,177 @@ struct _RegressAnnotationObjectClass GObjectClass parent_class; }; +_GI_TEST_EXTERN GType regress_annotation_object_get_type (void); +_GI_TEST_EXTERN gint regress_annotation_object_method (RegressAnnotationObject *object); + +_GI_TEST_EXTERN gint regress_annotation_object_out (RegressAnnotationObject *object, int *outarg); + +_GI_TEST_EXTERN GObject* regress_annotation_object_create_object(RegressAnnotationObject *object); + +_GI_TEST_EXTERN GObject* regress_annotation_object_allow_none (RegressAnnotationObject *object, const gchar *somearg); + +_GI_TEST_EXTERN GObject* regress_annotation_object_notrans (RegressAnnotationObject *object); + +_GI_TEST_EXTERN gint regress_annotation_object_inout (RegressAnnotationObject *object, int *inoutarg); + +_GI_TEST_EXTERN gint regress_annotation_object_inout2 (RegressAnnotationObject *object, int *inoutarg); + +_GI_TEST_EXTERN gint regress_annotation_object_inout3 (RegressAnnotationObject *object, int *inoutarg); + +_GI_TEST_EXTERN gint regress_annotation_object_in (RegressAnnotationObject *object, int *inarg); + +_GI_TEST_EXTERN gint regress_annotation_object_calleeowns (RegressAnnotationObject *object, GObject **toown); + +_GI_TEST_EXTERN gint regress_annotation_object_calleesowns (RegressAnnotationObject *object, GObject **toown1, GObject **toown2); + +_GI_TEST_EXTERN GList* regress_annotation_object_get_strings (RegressAnnotationObject *object); + +_GI_TEST_EXTERN GHashTable*regress_annotation_object_get_hash (RegressAnnotationObject *object); + +_GI_TEST_EXTERN void regress_annotation_object_with_voidp (RegressAnnotationObject *object, void *data); + +_GI_TEST_EXTERN GSList* regress_annotation_object_get_objects (RegressAnnotationObject *object); + +_GI_TEST_EXTERN void regress_annotation_object_use_buffer (RegressAnnotationObject *object, guchar *bytes); + +_GI_TEST_EXTERN void regress_annotation_object_compute_sum (RegressAnnotationObject *object, int *nums); + +_GI_TEST_EXTERN void regress_annotation_object_compute_sum_n(RegressAnnotationObject *object, int *nums, int n_nums); + +_GI_TEST_EXTERN void regress_annotation_object_compute_sum_nz(RegressAnnotationObject *object, int *nums, int n_nums); + +_GI_TEST_EXTERN void regress_annotation_object_parse_args (RegressAnnotationObject *object, int *argc, char ***argv); + +_GI_TEST_EXTERN gboolean regress_annotation_object_string_out (RegressAnnotationObject *object, char **str_out); + +_GI_TEST_EXTERN void regress_annotation_object_foreach (RegressAnnotationObject *object, RegressAnnotationForeachFunc func, gpointer user_data); + +_GI_TEST_EXTERN void regress_annotation_object_set_data (RegressAnnotationObject *object, const guchar *data, gsize length); + +_GI_TEST_EXTERN void regress_annotation_object_set_data2 (RegressAnnotationObject *object, const gchar *data, gsize length); + +_GI_TEST_EXTERN void regress_annotation_object_set_data3 (RegressAnnotationObject *object, gpointer data, gsize length); + +_GI_TEST_EXTERN GObject* regress_annotation_object_do_not_use (RegressAnnotationObject *object); + +_GI_TEST_EXTERN void regress_annotation_object_watch (RegressAnnotationObject *object, RegressAnnotationForeachFunc func, gpointer user_data); + +_GI_TEST_EXTERN void regress_annotation_object_watch_full (RegressAnnotationObject *object, RegressAnnotationForeachFunc func, gpointer user_data, GDestroyNotify destroy); + +_GI_TEST_EXTERN void regress_annotation_object_hidden_self (gpointer object); + +_GI_TEST_EXTERN void regress_annotation_init (int *argc, char ***argv); + +_GI_TEST_EXTERN char ** regress_annotation_return_array (int *length); + +_GI_TEST_EXTERN void regress_annotation_versioned (void); + +_GI_TEST_EXTERN char ** regress_annotation_string_zero_terminated (void); + +_GI_TEST_EXTERN void regress_annotation_string_zero_terminated_out (char ***out); + +_GI_TEST_EXTERN void regress_annotation_string_array_length (guint n_properties, const gchar * const properties[]); + +_GI_TEST_EXTERN void regress_annotation_object_extra_annos (RegressAnnotationObject *object); + +_GI_TEST_EXTERN void regress_annotation_custom_destroy (RegressAnnotationCallback callback, RegressAnnotationNotifyFunc destroy, gpointer data); + +_GI_TEST_EXTERN char * regress_annotation_get_source_file (void); + +_GI_TEST_EXTERN void regress_annotation_set_source_file (const char *fname); + +_GI_TEST_EXTERN gint regress_annotation_attribute_func (RegressAnnotationObject *object, const gchar *data); + +_GI_TEST_EXTERN void regress_annotation_invalid_regress_annotation (int foo); /** @@ -174,14 +258,24 @@ struct RegressAnnotationFields gulong len; }; + +_GI_TEST_EXTERN void regress_annotation_ptr_array (GPtrArray *array); + +_GI_TEST_EXTERN GObject * regress_annotation_test_parsing_bug630862 (void); + +_GI_TEST_EXTERN void regress_annotation_space_after_comment_bug631690 (void); + +_GI_TEST_EXTERN gchar* regress_annotation_return_filename (void); + +_GI_TEST_EXTERN GObject * regress_annotation_transfer_floating(void); /* This one we can handle properly */ diff --git a/tests/scanner/barapp.c b/tests/scanner/barapp.c index ed391204..6189531e 100644 --- a/tests/scanner/barapp.c +++ b/tests/scanner/barapp.c @@ -1,4 +1,6 @@ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ +#include "config.h" + #include "barapp.h" #include <girepository.h> diff --git a/tests/scanner/barapp.h b/tests/scanner/barapp.h index 12c39a5f..8694ddbe 100644 --- a/tests/scanner/barapp.h +++ b/tests/scanner/barapp.h @@ -1,6 +1,8 @@ #include <glib-object.h> +#include "gitestmacros.h" + #define BAR_TYPE_BAZ (bar_baz_get_type ()) #define BAR_BAZ(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BAR_TYPE_BAZ, BarBaz)) #define BAR_IS_BAZ(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BAR_TYPE_BAZ)) @@ -18,9 +20,14 @@ struct BarBazClass GObjectClass parent_class; }; +_GI_TEST_EXTERN GType bar_baz_get_type (void) G_GNUC_CONST; + +_GI_TEST_EXTERN void bar_app_func (void); + +_GI_TEST_EXTERN void bar_app_func2 (int x, double y); @@ -45,6 +52,8 @@ struct MutterWindowClass GObjectClass parent_class; }; +_GI_TEST_EXTERN GType mutter_window_get_type (void) G_GNUC_CONST; +_GI_TEST_EXTERN void mutter_window_func (MutterWindow *window, guint v); diff --git a/tests/scanner/drawable.c b/tests/scanner/drawable.c index e378286b..9c58bfed 100644 --- a/tests/scanner/drawable.c +++ b/tests/scanner/drawable.c @@ -1,4 +1,6 @@ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ +#include "config.h" + #include "drawable.h" G_DEFINE_ABSTRACT_TYPE (RegressTestInheritDrawable, regress_test_inherit_drawable, G_TYPE_OBJECT); diff --git a/tests/scanner/drawable.h b/tests/scanner/drawable.h index 58383589..adf08da2 100644 --- a/tests/scanner/drawable.h +++ b/tests/scanner/drawable.h @@ -3,6 +3,8 @@ #include <glib-object.h> +#include "gitestmacros.h" + typedef struct _RegressTestInheritDrawable RegressTestInheritDrawable; typedef struct _RegressTestInheritDrawableClass RegressTestInheritDrawableClass; @@ -16,11 +18,20 @@ struct _RegressTestInheritDrawableClass GObjectClass parent_class; }; +_GI_TEST_EXTERN GType regress_test_inherit_drawable_get_type (void) G_GNUC_CONST; + +_GI_TEST_EXTERN void regress_test_inherit_drawable_do_foo (RegressTestInheritDrawable *drawable, int x); + +_GI_TEST_EXTERN void regress_test_inherit_drawable_get_origin (RegressTestInheritDrawable *drawable, int *x, int *y); + +_GI_TEST_EXTERN void regress_test_inherit_drawable_get_size (RegressTestInheritDrawable *drawable, guint *width, guint *height); + +_GI_TEST_EXTERN void regress_test_inherit_drawable_do_foo_maybe_throw (RegressTestInheritDrawable *drawable, int x, GError **error); typedef struct _RegressTestInheritPixmapObjectClass RegressTestInheritPixmapObjectClass; diff --git a/tests/scanner/foo.c b/tests/scanner/foo.c index 52b9054e..66b29845 100644 --- a/tests/scanner/foo.c +++ b/tests/scanner/foo.c @@ -1,3 +1,5 @@ +#include "config.h" + #include "foo.h" /* A hidden type not exposed publicly, similar to GUPNP's XML wrapper diff --git a/tests/scanner/foo.h b/tests/scanner/foo.h index e097560e..02d9b7c8 100644 --- a/tests/scanner/foo.h +++ b/tests/scanner/foo.h @@ -3,6 +3,8 @@ #include <glib-object.h> #include <gio/gio.h> /* GAsyncReadyCallback */ + +#include "gitestmacros.h" #include "utility.h" #define REGRESS_FOO_SUCCESS_INT 0x1138 @@ -58,10 +60,16 @@ struct _RegressFooInterfaceIface void (*do_regress_foo) (RegressFooInterface *self, int x); }; + +_GI_TEST_EXTERN GType regress_foo_interface_get_type (void) G_GNUC_CONST; + +_GI_TEST_EXTERN void regress_foo_interface_do_regress_foo (RegressFooInterface *iface, int x); + +_GI_TEST_EXTERN void regress_foo_interface_static_method (int x); struct _RegressFooSubInterfaceIface @@ -79,9 +87,15 @@ struct _RegressFooSubInterfaceIface void (*do_baz) (RegressFooSubInterface *self, GCallback callback, gpointer user_data); }; + +_GI_TEST_EXTERN GType regress_foo_sub_interface_get_type (void) G_GNUC_CONST; + +_GI_TEST_EXTERN void regress_foo_sub_interface_do_bar (RegressFooSubInterface *self); + +_GI_TEST_EXTERN void regress_foo_sub_interface_do_baz (RegressFooSubInterface *self, GCallback callback, gpointer user_data); @@ -106,35 +120,67 @@ struct _RegressFooObjectClass GCallback _reserved[4]; }; + +_GI_TEST_EXTERN gint regress_foo_init (void); + +_GI_TEST_EXTERN GType regress_foo_object_get_type (void) G_GNUC_CONST; + +_GI_TEST_EXTERN RegressFooObject* regress_foo_object_new (void); + +_GI_TEST_EXTERN UtilityObject* regress_foo_object_external_type (RegressFooObject *object); + +_GI_TEST_EXTERN GObject* regress_foo_object_new_as_super (void); + +_GI_TEST_EXTERN void regress_foo_object_various (RegressFooObject *object, void *data, GType some_type); + +_GI_TEST_EXTERN void regress_foo_object_take_all (RegressFooObject *object, int x, ...); typedef gpointer RegressFooObjectCookie; + +_GI_TEST_EXTERN RegressFooObjectCookie regress_foo_object_new_cookie (RegressFooObject *object, const char *target); + +_GI_TEST_EXTERN void regress_foo_object_is_it_time_yet (RegressFooObject *object, time_t time); + +_GI_TEST_EXTERN const char * regress_foo_object_get_name (RegressFooObject *object); + +_GI_TEST_EXTERN char * regress_foo_object_dup_name (RegressFooObject *object); + +_GI_TEST_EXTERN void regress_foo_object_handle_glyph (RegressFooObject *object, UtilityGlyph glyph); + +_GI_TEST_EXTERN gboolean regress_foo_object_virtual_method (RegressFooObject *object, int first_param); + +_GI_TEST_EXTERN void regress_foo_object_read (RegressFooObject *object, int offset, int length); + +_GI_TEST_EXTERN int regress_foo_object_static_meth (void); + +_GI_TEST_EXTERN void regress_foo_object_skipped_method (RegressFooObject *object); struct _RegressFooSubobject @@ -147,17 +193,31 @@ struct _RegressFooSubobjectClass RegressFooObjectClass parent_class; }; + +_GI_TEST_EXTERN GType regress_foo_subobject_get_type (void) G_GNUC_CONST; + +_GI_TEST_EXTERN RegressFooSubobject* regress_foo_subobject_new (void); + +_GI_TEST_EXTERN RegressFooObject * regress_foo_object_get_default (void); + +_GI_TEST_EXTERN GType regress_foo_buffer_get_type (void); + +_GI_TEST_EXTERN void regress_foo_buffer_some_method (RegressFooBuffer *buffer); + +_GI_TEST_EXTERN GType regress_foo_other_object_get_type (void) G_GNUC_CONST; + +_GI_TEST_EXTERN RegressFooObject * regress_foo_not_a_constructor_new (void); typedef enum @@ -167,10 +227,16 @@ typedef enum REGRESS_FOO_ENUM_DELTA } RegressFooEnumType; + +_GI_TEST_EXTERN GType regress_foo_enum_type_get_type (void); + +_GI_TEST_EXTERN int regress_foo_enum_type_method (RegressFooEnumType regress_foo_enum); + +_GI_TEST_EXTERN RegressFooEnumType regress_foo_enum_type_returnv (int x); typedef enum @@ -180,6 +246,8 @@ typedef enum REGRESS_FOO_FLAGS_THIRD = 1 << 2 } RegressFooFlagsType; + +_GI_TEST_EXTERN GType regress_foo_flags_type_get_type (void); typedef enum @@ -213,18 +281,34 @@ typedef enum typedef struct _RegressFooBoxed RegressFooBoxed; + +_GI_TEST_EXTERN GType regress_foo_boxed_get_type (void) G_GNUC_CONST; + +_GI_TEST_EXTERN RegressFooBoxed* regress_foo_boxed_new (void); + +_GI_TEST_EXTERN void regress_foo_boxed_method (RegressFooBoxed* boxed); /* This one tests capitalization handling with respect to DBus */ typedef struct _RegressFooDBusData RegressFooDBusData; + +_GI_TEST_EXTERN GType regress_foo_dbus_data_get_type (void) G_GNUC_CONST; + +_GI_TEST_EXTERN void regress_foo_dbus_data_method (RegressFooDBusData* dbusdata); /* FIXME: Scanner does not support this yet + +_GI_TEST_EXTERN const char *REGRESS_FOO_CONSTANT_STR = "regress_foo-constant-str"; + +_GI_TEST_EXTERN const int REGRESS_FOO_CONSTANT_INT = 10; + +_GI_TEST_EXTERN const float REGRESS_FOO_CONSTANT_FLOAT = 10; */ @@ -255,14 +339,20 @@ struct _RegressFooRectangle gint height; }; + +_GI_TEST_EXTERN void regress_foo_method_external_references (UtilityObject *object, UtilityEnumType e, UtilityFlagType f, UtilityStruct s); + +_GI_TEST_EXTERN void regress_foo_rectangle_add(RegressFooRectangle *r1, const RegressFooRectangle *r2); + +_GI_TEST_EXTERN RegressFooRectangle * regress_foo_rectangle_new (int x, int y, int width, int height); @@ -301,10 +391,16 @@ struct _RegressFooBRect double y; }; + +_GI_TEST_EXTERN GType regress_foo_brect_get_type (void); + +_GI_TEST_EXTERN RegressFooBRect *regress_foo_brect_new (double x, double y); + +_GI_TEST_EXTERN void regress_foo_brect_add (RegressFooBRect *b1, RegressFooBRect *b2); typedef union _RegressFooBUnion RegressFooBUnion; @@ -338,36 +434,69 @@ struct _RegressFooThingWithArray guchar *data; } ; + +_GI_TEST_EXTERN RegressFooBUnion *regress_foo_bunion_new (void); + +_GI_TEST_EXTERN GType regress_foo_bunion_get_type (void); + +_GI_TEST_EXTERN int regress_foo_bunion_get_contained_type (RegressFooBUnion *bunion); + +_GI_TEST_EXTERN void regress_foo_test_unsigned_qualifier (unsigned int unsigned_param); + +_GI_TEST_EXTERN void regress_foo_test_unsigned_type (unsigned unsigned_param); + +_GI_TEST_EXTERN void regress_foo_test_string_array (char **array); + +_GI_TEST_EXTERN void regress_foo_test_string_array_with_g (gchar **array); + +_GI_TEST_EXTERN GArray *regress_foo_test_array (void); + +_GI_TEST_EXTERN const char * regress_foo_test_const_char_retval (void); + +_GI_TEST_EXTERN const RegressFooStruct * regress_foo_test_const_struct_retval (void); + +_GI_TEST_EXTERN void regress_foo_test_const_char_param (const char * param); + +_GI_TEST_EXTERN void regress_foo_test_const_struct_param (const RegressFooStruct * param); typedef void (*RegressFooVarargsCallback) (const char * param, ...); + +_GI_TEST_EXTERN void regress_foo_test_varargs_callback (gint i, RegressFooVarargsCallback callback); + +_GI_TEST_EXTERN void regress_foo_test_varargs_callback2 (RegressFooVarargsCallback callback); + +_GI_TEST_EXTERN void regress_foo_test_varargs_callback3 (RegressFooVarargsCallback callback, RegressFooVarargsCallback callback2); /* Make sure callbacks get the right scope by default */ +_GI_TEST_EXTERN void regress_foo_async_ready_callback(GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); + +_GI_TEST_EXTERN void regress_foo_destroy_notify_callback(RegressFooCallback callback, gpointer data, GDestroyNotify destroy); @@ -377,8 +506,12 @@ typedef enum { REGRESS_FOO_ERROR_BAD, REGRESS_FOO_ERROR_UGLY } RegressFooError; + +_GI_TEST_EXTERN GType regress_foo_error_get_type (void); + +_GI_TEST_EXTERN GQuark regress_foo_error_quark (void); typedef enum @@ -400,7 +533,11 @@ typedef enum } RegressFooASingle; /* Should be skipped */ + +_GI_TEST_EXTERN void regress_foo_some_variant (guint x, va_list args); + +_GI_TEST_EXTERN void regress_foo_some_variant_ptr (guint x, va_list *args); /** @@ -424,14 +561,22 @@ struct _RegressFooForeignStruct int regress_foo; }; + +_GI_TEST_EXTERN RegressFooForeignStruct* regress_foo_foreign_struct_new (void); + +_GI_TEST_EXTERN RegressFooForeignStruct* regress_foo_foreign_struct_copy (RegressFooForeignStruct *original); /* This one should be a global, not a method on UtilityObject since * it's a separate namespace. */ + +_GI_TEST_EXTERN void regress_foo_object_a_global_method (UtilityObject *obj); + +_GI_TEST_EXTERN RegressFooOtherObject * regress_foo_object_append_new_stack_layer (RegressFooObject *obj, int x); #endif /* __REGRESS_FOO_OBJECT_H__ */ diff --git a/tests/scanner/gettype.c b/tests/scanner/gettype.c index a3c2d6be..fac94a4d 100644 --- a/tests/scanner/gettype.c +++ b/tests/scanner/gettype.c @@ -1,3 +1,5 @@ +#include "config.h" + #include "gettype.h" G_DEFINE_TYPE (GetTypeObject, gettype_object, G_TYPE_OBJECT); diff --git a/tests/scanner/gettype.h b/tests/scanner/gettype.h index 755f091c..5adab579 100644 --- a/tests/scanner/gettype.h +++ b/tests/scanner/gettype.h @@ -3,6 +3,8 @@ #include <glib-object.h> +#include "gitestmacros.h" + #define GETTYPE_TYPE_OBJECT (gettype_object_get_type ()) #define GETTYPE_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GETTYPE_TYPE_OBJECT, GetTypeObject)) #define GETTYPE_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GETTYPE_TYPE_OBJECT)) @@ -19,11 +21,20 @@ struct _GetTypeObjectClass GObjectClass parent_class; }; +_GI_TEST_EXTERN GType gettype_object_get_type (void) G_GNUC_CONST; + +_GI_TEST_EXTERN GetTypeObject* gettype_object_new (void); + +_GI_TEST_EXTERN GType gettype_object_nonmeta1_get_type (GetTypeObject *obj); + +_GI_TEST_EXTERN gboolean gettype_object_nonmeta2_get_type (void); + +_GI_TEST_EXTERN gboolean gettype_object_nonmeta_get_gtype (void); #endif /* __GETTYPE_OBJECT_H__ */ diff --git a/tests/scanner/gtkfrob.c b/tests/scanner/gtkfrob.c index d1c2312c..fa085613 100644 --- a/tests/scanner/gtkfrob.c +++ b/tests/scanner/gtkfrob.c @@ -1,4 +1,6 @@ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ +#include "config.h" + #include "gtkfrob.h" void diff --git a/tests/scanner/gtkfrob.h b/tests/scanner/gtkfrob.h index 06a282d1..fb079748 100644 --- a/tests/scanner/gtkfrob.h +++ b/tests/scanner/gtkfrob.h @@ -3,9 +3,11 @@ #include <glib-object.h> +#include "gitestmacros.h" /* A global function */ +_GI_TEST_EXTERN void gtk_frob_language_manager_get_default (void); #endif /* __GTKFROB_H__ */ diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c index e60b8e17..48d9e931 100644 --- a/tests/scanner/regress.c +++ b/tests/scanner/regress.c @@ -1,4 +1,6 @@ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ +#include "config.h" + #include <string.h> #include <stdlib.h> #include <glib-object.h> diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h index 3bbcb991..74a95b72 100644 --- a/tests/scanner/regress.h +++ b/tests/scanner/regress.h @@ -10,146 +10,344 @@ #include <string.h> #include <stdlib.h> +#include "gitestmacros.h" + +_GI_TEST_EXTERN void regress_set_abort_on_error (gboolean abort_on_error); /* basic types */ +_GI_TEST_EXTERN gboolean regress_test_boolean (gboolean in); + +_GI_TEST_EXTERN gboolean regress_test_boolean_true (gboolean in); + +_GI_TEST_EXTERN gboolean regress_test_boolean_false (gboolean in); + +_GI_TEST_EXTERN gint8 regress_test_int8 (gint8 in); + +_GI_TEST_EXTERN guint8 regress_test_uint8 (guint8 in); + +_GI_TEST_EXTERN gint16 regress_test_int16 (gint16 in); + +_GI_TEST_EXTERN guint16 regress_test_uint16 (guint16 in); + +_GI_TEST_EXTERN gint32 regress_test_int32 (gint32 in); + +_GI_TEST_EXTERN guint32 regress_test_uint32 (guint32 in); + +_GI_TEST_EXTERN gint64 regress_test_int64 (gint64 in); + +_GI_TEST_EXTERN guint64 regress_test_uint64 (guint64 in); + +_GI_TEST_EXTERN gshort regress_test_short (gshort in); + +_GI_TEST_EXTERN gushort regress_test_ushort (gushort in); + +_GI_TEST_EXTERN gint regress_test_int (gint in); + +_GI_TEST_EXTERN guint regress_test_uint (guint in); + +_GI_TEST_EXTERN glong regress_test_long (glong in); + +_GI_TEST_EXTERN gulong regress_test_ulong (gulong in); + +_GI_TEST_EXTERN gssize regress_test_ssize (gssize in); + +_GI_TEST_EXTERN gsize regress_test_size (gsize in); + +_GI_TEST_EXTERN gfloat regress_test_float (gfloat in); + +_GI_TEST_EXTERN gdouble regress_test_double (gdouble in); + +_GI_TEST_EXTERN gunichar regress_test_unichar (gunichar in); + +_GI_TEST_EXTERN time_t regress_test_timet (time_t in); + +_GI_TEST_EXTERN GType regress_test_gtype (GType in); /* utf8 */ +_GI_TEST_EXTERN const char *regress_test_utf8_const_return (void); + +_GI_TEST_EXTERN char *regress_test_utf8_nonconst_return (void); + +_GI_TEST_EXTERN void regress_test_utf8_const_in (const char *in); + +_GI_TEST_EXTERN void regress_test_utf8_out (char **out); + +_GI_TEST_EXTERN void regress_test_utf8_inout (char **inout); + +_GI_TEST_EXTERN GSList *regress_test_filename_return (void); + +_GI_TEST_EXTERN void regress_test_utf8_null_in (char *in); + +_GI_TEST_EXTERN void regress_test_utf8_null_out (char **char_out); /* in arguments after out arguments */ +_GI_TEST_EXTERN void regress_test_int_out_utf8 (int *length, const char *in); /* multiple output arguments */ + +_GI_TEST_EXTERN void regress_test_multi_double_args (gdouble in, gdouble *one, gdouble *two); + +_GI_TEST_EXTERN void regress_test_utf8_out_out (char **out0, char **out1); + +_GI_TEST_EXTERN char *regress_test_utf8_out_nonconst_return (char **out); /* non-basic-types */ /* array */ +_GI_TEST_EXTERN gboolean regress_test_strv_in (char **arr); + +_GI_TEST_EXTERN int regress_test_array_int_in (int n_ints, int *ints); + +_GI_TEST_EXTERN void regress_test_array_int_out (int *n_ints, int **ints); + +_GI_TEST_EXTERN void regress_test_array_int_inout (int *n_ints, int **ints); + +_GI_TEST_EXTERN int regress_test_array_gint8_in (int n_ints, gint8 *ints); + +_GI_TEST_EXTERN int regress_test_array_gint16_in (int n_ints, gint16 *ints); + +_GI_TEST_EXTERN gint32 regress_test_array_gint32_in (int n_ints, gint32 *ints); + +_GI_TEST_EXTERN gint64 regress_test_array_gint64_in (int n_ints, gint64 *ints); + +_GI_TEST_EXTERN char *regress_test_array_gtype_in (int n_types, GType *types); + +_GI_TEST_EXTERN char **regress_test_strv_out_container (void); + +_GI_TEST_EXTERN char **regress_test_strv_out (void); + +_GI_TEST_EXTERN const char * const * regress_test_strv_out_c (void); + +_GI_TEST_EXTERN void regress_test_strv_outarg (char ***retp); + +_GI_TEST_EXTERN int regress_test_array_fixed_size_int_in (int *ints); + +_GI_TEST_EXTERN void regress_test_array_fixed_size_int_out (int **ints); + +_GI_TEST_EXTERN int *regress_test_array_fixed_size_int_return (void); /* transfer tests */ +_GI_TEST_EXTERN int *regress_test_array_int_full_out(int *len); + +_GI_TEST_EXTERN int *regress_test_array_int_none_out(int *len); + +_GI_TEST_EXTERN void regress_test_array_int_null_in (int *arr, int len); + +_GI_TEST_EXTERN void regress_test_array_int_null_out (int **arr, int *len); /* interface */ /* GList */ +_GI_TEST_EXTERN const GList *regress_test_glist_nothing_return (void); + +_GI_TEST_EXTERN GList *regress_test_glist_nothing_return2 (void); + +_GI_TEST_EXTERN GList *regress_test_glist_container_return (void); + +_GI_TEST_EXTERN GList *regress_test_glist_everything_return (void); + +_GI_TEST_EXTERN void regress_test_glist_nothing_in (const GList *in); + +_GI_TEST_EXTERN void regress_test_glist_nothing_in2 (GList *in); + +_GI_TEST_EXTERN void regress_test_glist_null_in(GSList *in); + +_GI_TEST_EXTERN void regress_test_glist_null_out(GSList **out_list); /* GSList */ +_GI_TEST_EXTERN const GSList *regress_test_gslist_nothing_return (void); + +_GI_TEST_EXTERN GSList *regress_test_gslist_nothing_return2 (void); + +_GI_TEST_EXTERN GSList *regress_test_gslist_container_return (void); + +_GI_TEST_EXTERN GSList *regress_test_gslist_everything_return (void); + +_GI_TEST_EXTERN void regress_test_gslist_nothing_in (const GSList *in); + +_GI_TEST_EXTERN void regress_test_gslist_nothing_in2 (GSList *in); + +_GI_TEST_EXTERN void regress_test_gslist_null_in(GSList *in); + +_GI_TEST_EXTERN void regress_test_gslist_null_out(GSList **out_list); /* GHashTable */ +_GI_TEST_EXTERN const GHashTable *regress_test_ghash_null_return (void); + +_GI_TEST_EXTERN const GHashTable *regress_test_ghash_nothing_return (void); + +_GI_TEST_EXTERN GHashTable *regress_test_ghash_nothing_return2 (void); + +_GI_TEST_EXTERN GHashTable *regress_test_ghash_gvalue_return (void); + +_GI_TEST_EXTERN void regress_test_ghash_gvalue_in (GHashTable *hash); + +_GI_TEST_EXTERN GHashTable *regress_test_ghash_container_return (void); + +_GI_TEST_EXTERN GHashTable *regress_test_ghash_everything_return (void); + +_GI_TEST_EXTERN void regress_test_ghash_null_in (const GHashTable *in); + +_GI_TEST_EXTERN void regress_test_ghash_null_out (const GHashTable **out); + +_GI_TEST_EXTERN void regress_test_ghash_nothing_in (const GHashTable *in); + +_GI_TEST_EXTERN void regress_test_ghash_nothing_in2 (GHashTable *in); + +_GI_TEST_EXTERN GHashTable *regress_test_ghash_nested_everything_return (void); + +_GI_TEST_EXTERN GHashTable *regress_test_ghash_nested_everything_return2 (void); /* GPtrArray */ +_GI_TEST_EXTERN GPtrArray *regress_test_garray_container_return (void); + +_GI_TEST_EXTERN GPtrArray *regress_test_garray_full_return (void); /* error? */ /* closure */ +_GI_TEST_EXTERN int regress_test_closure (GClosure *closure); + +_GI_TEST_EXTERN int regress_test_closure_one_arg (GClosure *closure, int arg); + +_GI_TEST_EXTERN GVariant *regress_test_closure_variant (GClosure *closure, GVariant* arg); /* value */ +_GI_TEST_EXTERN int regress_test_int_value_arg(const GValue *v); + +_GI_TEST_EXTERN const GValue *regress_test_value_return(int i); /* foreign structs */ #ifndef _GI_DISABLE_CAIRO +_GI_TEST_EXTERN cairo_t *regress_test_cairo_context_full_return (void); + +_GI_TEST_EXTERN void regress_test_cairo_context_none_in (cairo_t *context); + +_GI_TEST_EXTERN cairo_surface_t *regress_test_cairo_surface_none_return (void); + +_GI_TEST_EXTERN cairo_surface_t *regress_test_cairo_surface_full_return (void); + +_GI_TEST_EXTERN void regress_test_cairo_surface_none_in (cairo_surface_t *surface); + +_GI_TEST_EXTERN void regress_test_cairo_surface_full_out (cairo_surface_t **surface); #endif /* versioning (deprecated, since, stability) */ +_GI_TEST_EXTERN void regress_test_versioning (void); + +_GI_TEST_EXTERN GVariant *regress_test_gvariant_i (void); + +_GI_TEST_EXTERN GVariant *regress_test_gvariant_s (void); + +_GI_TEST_EXTERN GVariant *regress_test_gvariant_asv (void); + +_GI_TEST_EXTERN GVariant *regress_test_gvariant_v (void); + +_GI_TEST_EXTERN GVariant *regress_test_gvariant_as (void); /* enums / flags */ @@ -184,10 +382,15 @@ typedef enum REGRESS_TEST_FLAG3 = 1 << 2, } RegressTestFlags; +_GI_TEST_EXTERN GType regress_test_enum_get_type (void) G_GNUC_CONST; #define REGRESS_TEST_TYPE_ENUM (regress_test_enum_get_type ()) + +_GI_TEST_EXTERN GType regress_test_enum_unsigned_get_type (void) G_GNUC_CONST; #define REGRESS_TEST_TYPE_ENUM_UNSIGNED (regress_test_enum_unsigned_get_type ()) + +_GI_TEST_EXTERN GType regress_test_flags_get_type (void) G_GNUC_CONST; #define REGRESS_TEST_TYPE_FLAGS (regress_test_flags_get_type ()) @@ -209,9 +412,14 @@ typedef enum REGRESS_TEST_EVALUE3 = '0' } RegressTestEnumNoGEnum; +_GI_TEST_EXTERN const gchar * regress_test_enum_param(RegressTestEnum e); + +_GI_TEST_EXTERN const gchar * regress_test_unsigned_enum_param(RegressTestEnumUnsigned e); + +_GI_TEST_EXTERN void regress_global_get_flags_out (RegressTestFlags *v); /* error domains */ @@ -223,7 +431,10 @@ typedef enum REGRESS_TEST_ERROR_CODE3 = 3 } RegressTestError; +_GI_TEST_EXTERN GType regress_test_error_get_type (void); + +_GI_TEST_EXTERN GQuark regress_test_error_quark (void); /* Test weird names, with and without @@ -236,7 +447,10 @@ typedef enum REGRESS_TEST_ABC_ERROR_CODE3 = 3 } RegressTestABCError; +_GI_TEST_EXTERN GType regress_test_abc_error_get_type (void); + +_GI_TEST_EXTERN GQuark regress_test_abc_error_quark (void); typedef enum @@ -250,7 +464,10 @@ typedef enum The difference is intentional, although it is mainly meant for capitalization problems. */ +_GI_TEST_EXTERN GType regress_test_unconventional_error_get_type (void); + +_GI_TEST_EXTERN GQuark regress_test_unconventional_error_quark (void); typedef enum @@ -260,6 +477,7 @@ typedef enum REGRESS_TEST_DEF_ERROR_CODE2 = 2 } RegressTestDEFError; +_GI_TEST_EXTERN GQuark regress_test_def_error_quark (void); /* the scanner used to have problem @@ -273,6 +491,7 @@ typedef enum REGRESS_ATEST_ERROR_CODE2 = 2 } RegressATestError; +_GI_TEST_EXTERN GQuark regress_atest_error_quark (void); @@ -305,8 +524,11 @@ struct _RegressTestStructA RegressTestEnum some_enum; }; +_GI_TEST_EXTERN void regress_test_struct_a_clone (RegressTestStructA *a, RegressTestStructA *a_out); + +_GI_TEST_EXTERN void regress_test_struct_a_parse (RegressTestStructA *a_out, const gchar *string); struct _RegressTestStructB @@ -315,6 +537,7 @@ struct _RegressTestStructB RegressTestStructA nested_a; }; +_GI_TEST_EXTERN void regress_test_struct_b_clone (RegressTestStructB *b, RegressTestStructB *b_out); @@ -386,10 +609,17 @@ struct _RegressTestSimpleBoxedA }; /* Intentionally uses _get_gtype */ +_GI_TEST_EXTERN GType regress_test_simple_boxed_a_get_gtype (void); + +_GI_TEST_EXTERN RegressTestSimpleBoxedA *regress_test_simple_boxed_a_copy (RegressTestSimpleBoxedA *a); + +_GI_TEST_EXTERN gboolean regress_test_simple_boxed_a_equals (RegressTestSimpleBoxedA *a, RegressTestSimpleBoxedA *other_a); + +_GI_TEST_EXTERN const RegressTestSimpleBoxedA *regress_test_simple_boxed_a_const_return (void); @@ -399,7 +629,11 @@ struct _RegressTestSimpleBoxedB RegressTestSimpleBoxedA nested_a; }; + +_GI_TEST_EXTERN GType regress_test_simple_boxed_b_get_type (void); + +_GI_TEST_EXTERN RegressTestSimpleBoxedB *regress_test_simple_boxed_b_copy (RegressTestSimpleBoxedB *b); /* opaque boxed */ @@ -416,17 +650,34 @@ struct _RegressTestBoxed RegressTestBoxedPrivate *priv; }; +_GI_TEST_EXTERN GType regress_test_boxed_get_type (void); + +_GI_TEST_EXTERN RegressTestBoxed *regress_test_boxed_new (void); + +_GI_TEST_EXTERN RegressTestBoxed *regress_test_boxed_new_alternative_constructor1 (int i); + +_GI_TEST_EXTERN RegressTestBoxed *regress_test_boxed_new_alternative_constructor2 (int i, int j); + +_GI_TEST_EXTERN RegressTestBoxed *regress_test_boxed_new_alternative_constructor3 (char *s); + +_GI_TEST_EXTERN RegressTestBoxed *regress_test_boxed_copy (RegressTestBoxed *boxed); + +_GI_TEST_EXTERN gboolean regress_test_boxed_equals (RegressTestBoxed *boxed, RegressTestBoxed *other); + +_GI_TEST_EXTERN void regress_test_boxeds_not_a_method (RegressTestBoxed *boxed); + +_GI_TEST_EXTERN void regress_test_boxeds_not_a_static (void); typedef struct _RegressTestBoxedB RegressTestBoxedB; @@ -437,8 +688,14 @@ struct _RegressTestBoxedB glong some_long; }; + +_GI_TEST_EXTERN GType regress_test_boxed_b_get_type (void); + +_GI_TEST_EXTERN RegressTestBoxedB *regress_test_boxed_b_new (gint8 some_int8, glong some_long); + +_GI_TEST_EXTERN RegressTestBoxedB *regress_test_boxed_b_copy (RegressTestBoxedB *boxed); typedef struct _RegressTestBoxedC RegressTestBoxedC; @@ -449,17 +706,30 @@ struct _RegressTestBoxedC guint another_thing; }; +_GI_TEST_EXTERN GType regress_test_boxed_c_get_type (void); + +_GI_TEST_EXTERN RegressTestBoxedC *regress_test_boxed_c_new (void); typedef struct _RegressTestBoxedD RegressTestBoxedD; + +_GI_TEST_EXTERN GType regress_test_boxed_d_get_type (void); + +_GI_TEST_EXTERN RegressTestBoxedD *regress_test_boxed_d_new (const char *a_string, int a_int); + +_GI_TEST_EXTERN RegressTestBoxedD *regress_test_boxed_d_copy (RegressTestBoxedD *boxed); + +_GI_TEST_EXTERN void regress_test_boxed_d_free (RegressTestBoxedD *boxed); + +_GI_TEST_EXTERN int regress_test_boxed_d_get_magic (RegressTestBoxedD *boxed); /* gobject */ @@ -517,22 +787,51 @@ struct _RegressTestObjClass void (*_regress_reserved2) (void); }; +_GI_TEST_EXTERN GType regress_test_obj_get_type (void); + +_GI_TEST_EXTERN RegressTestObj* regress_test_obj_new (RegressTestObj *obj); + +_GI_TEST_EXTERN RegressTestObj* regress_constructor (void); + +_GI_TEST_EXTERN RegressTestObj* regress_test_obj_new_from_file (const char *x, GError **error); + +_GI_TEST_EXTERN void regress_test_obj_set_bare (RegressTestObj *obj, GObject *bare); + +_GI_TEST_EXTERN void regress_test_obj_emit_sig_with_obj (RegressTestObj *obj); + +_GI_TEST_EXTERN void regress_test_obj_emit_sig_with_foreign_struct (RegressTestObj *obj); + +_GI_TEST_EXTERN void regress_test_obj_emit_sig_with_int64 (RegressTestObj *obj); + +_GI_TEST_EXTERN void regress_test_obj_emit_sig_with_uint64 (RegressTestObj *obj); + +_GI_TEST_EXTERN int regress_test_obj_instance_method (RegressTestObj *obj); + +_GI_TEST_EXTERN void regress_test_obj_instance_method_full (RegressTestObj *obj); + +_GI_TEST_EXTERN double regress_test_obj_static_method (int x); + +_GI_TEST_EXTERN void regress_forced_method (RegressTestObj *obj); + +_GI_TEST_EXTERN void regress_test_array_fixed_out_objects (RegressTestObj ***objs); + +_GI_TEST_EXTERN void regress_test_obj_torture_signature_0 (RegressTestObj *obj, int x, double *y, @@ -540,6 +839,8 @@ void regress_test_obj_torture_signature_0 (RegressTestObj *obj, const char *foo, int *q, guint m); + +_GI_TEST_EXTERN gboolean regress_test_obj_torture_signature_1 (RegressTestObj *obj, int x, double *y, @@ -549,6 +850,8 @@ gboolean regress_test_obj_torture_signature_1 (RegressTestObj *obj, guint m, GError **error); + +_GI_TEST_EXTERN gboolean regress_test_obj_skip_return_val (RegressTestObj *obj, gint a, gint *out_b, @@ -559,10 +862,14 @@ gboolean regress_test_obj_skip_return_val (RegressTestObj *obj, gint num2, GError **error); + +_GI_TEST_EXTERN gboolean regress_test_obj_skip_return_val_no_out (RegressTestObj *obj, gint a, GError **error); + +_GI_TEST_EXTERN gboolean regress_test_obj_skip_param (RegressTestObj *obj, gint a, gint *out_b, @@ -573,6 +880,8 @@ gboolean regress_test_obj_skip_param (RegressTestObj *obj, gint num2, GError **error); + +_GI_TEST_EXTERN gboolean regress_test_obj_skip_out_param (RegressTestObj *obj, gint a, gint *out_b, @@ -583,6 +892,8 @@ gboolean regress_test_obj_skip_out_param (RegressTestObj *obj, gint num2, GError **error); + +_GI_TEST_EXTERN gboolean regress_test_obj_skip_inout_param (RegressTestObj *obj, gint a, gint *out_b, @@ -594,9 +905,14 @@ gboolean regress_test_obj_skip_inout_param (RegressTestObj *obj, GError **error); /* virtual */ +_GI_TEST_EXTERN int regress_test_obj_do_matrix (RegressTestObj *obj, const char *somestr); + +_GI_TEST_EXTERN void regress_func_obj_null_in (RegressTestObj *obj); + +_GI_TEST_EXTERN void regress_test_obj_null_out (RegressTestObj **obj); /* inheritance */ @@ -618,9 +934,17 @@ struct _RegressTestSubObjClass RegressTestObjClass parent_class; }; + +_GI_TEST_EXTERN GType regress_test_sub_obj_get_type (void); + +_GI_TEST_EXTERN RegressTestObj* regress_test_sub_obj_new (void); + +_GI_TEST_EXTERN void regress_test_sub_obj_unset_bare (RegressTestSubObj *obj); + +_GI_TEST_EXTERN int regress_test_sub_obj_instance_method (RegressTestSubObj *obj); /* fundamental object */ @@ -656,13 +980,21 @@ struct _RegressTestFundamentalObjectClass { RegressTestFundamentalObjectFinalizeFunction finalize; }; +_GI_TEST_EXTERN GType regress_test_fundamental_object_get_type (void); + +_GI_TEST_EXTERN RegressTestFundamentalObject* regress_test_fundamental_object_ref (RegressTestFundamentalObject *fundamental_object); + +_GI_TEST_EXTERN void regress_test_fundamental_object_unref (RegressTestFundamentalObject *fundamental_object); #define REGRESS_TEST_VALUE_HOLDS_FUNDAMENTAL_OBJECT(value) (G_VALUE_HOLDS(value, REGRESS_TEST_TYPE_FUNDAMENTAL_OBJECT)) +_GI_TEST_EXTERN void regress_test_value_set_fundamental_object (GValue *value, RegressTestFundamentalObject *fundamental_object); + +_GI_TEST_EXTERN RegressTestFundamentalObject* regress_test_value_get_fundamental_object (const GValue *value); typedef struct _RegressTestFundamentalSubObject RegressTestFundamentalSubObject; @@ -678,8 +1010,12 @@ struct _RegressTestFundamentalSubObjectClass { RegressTestFundamentalObjectClass fundamental_object_class; }; + +_GI_TEST_EXTERN GType regress_test_fundamental_sub_object_get_type(void); + +_GI_TEST_EXTERN RegressTestFundamentalSubObject * regress_test_fundamental_sub_object_new (const char *data); @@ -720,35 +1056,74 @@ typedef int (*RegressTestCallbackArray) (int *one, gsize one_length, const char* */ typedef void (* RegressTestCallbackArrayInOut) (int **ints, int *length); +_GI_TEST_EXTERN void regress_test_simple_callback (RegressTestSimpleCallback callback); + +_GI_TEST_EXTERN int regress_test_callback (RegressTestCallback callback); + +_GI_TEST_EXTERN int regress_test_multi_callback (RegressTestCallback callback); + +_GI_TEST_EXTERN int regress_test_array_callback (RegressTestCallbackArray callback); + +_GI_TEST_EXTERN int regress_test_array_inout_callback (RegressTestCallbackArrayInOut callback); + +_GI_TEST_EXTERN int regress_test_callback_user_data (RegressTestCallbackUserData callback, gpointer user_data); + +_GI_TEST_EXTERN int regress_test_callback_destroy_notify (RegressTestCallbackUserData callback, gpointer user_data, GDestroyNotify notify); + +_GI_TEST_EXTERN int regress_test_callback_destroy_notify_no_user_data (RegressTestCallbackUserData callback, GDestroyNotify notify); + +_GI_TEST_EXTERN int regress_test_callback_thaw_notifications (void); + +_GI_TEST_EXTERN void regress_test_callback_async (RegressTestCallbackUserData callback, gpointer user_data); + +_GI_TEST_EXTERN int regress_test_callback_thaw_async (void); + +_GI_TEST_EXTERN void regress_test_async_ready_callback (GAsyncReadyCallback callback); + +_GI_TEST_EXTERN void regress_test_obj_instance_method_callback (RegressTestObj *obj, RegressTestCallback callback); + +_GI_TEST_EXTERN void regress_test_obj_static_method_callback (RegressTestCallback callback); + +_GI_TEST_EXTERN RegressTestObj *regress_test_obj_new_callback (RegressTestCallbackUserData callback, gpointer user_data, GDestroyNotify notify); + +_GI_TEST_EXTERN void regress_test_hash_table_callback (GHashTable *data, RegressTestCallbackHashtable callback); + +_GI_TEST_EXTERN void regress_test_gerror_callback (RegressTestCallbackGError callback); + +_GI_TEST_EXTERN void regress_test_null_gerror_callback (RegressTestCallbackGError callback); + +_GI_TEST_EXTERN void regress_test_owned_gerror_callback (RegressTestCallbackOwnedGError callback); + +_GI_TEST_EXTERN void regress_test_skip_unannotated_callback (RegressTestCallback callback); typedef struct _RegressTestInterface RegressTestInterface; @@ -765,6 +1140,7 @@ struct _RegressTestInterfaceIface { GTypeInterface base_iface; }; +_GI_TEST_EXTERN GType regress_test_interface_get_type (void) G_GNUC_CONST; /* gobject with non-standard prefix */ @@ -785,10 +1161,20 @@ typedef struct GObjectClass parent_class; } RegressTestWi8021xClass; + +_GI_TEST_EXTERN GType regress_test_wi_802_1x_get_type (void); + +_GI_TEST_EXTERN RegressTestWi8021x* regress_test_wi_802_1x_new (void); + +_GI_TEST_EXTERN gboolean regress_test_wi_802_1x_get_testbool (RegressTestWi8021x *obj); + +_GI_TEST_EXTERN void regress_test_wi_802_1x_set_testbool (RegressTestWi8021x *obj, gboolean v); + +_GI_TEST_EXTERN int regress_test_wi_802_1x_static_method (int x); /* floating gobject */ @@ -807,16 +1193,24 @@ typedef struct GInitiallyUnownedClass parent_class; } RegressTestFloatingClass; + +_GI_TEST_EXTERN GType regress_test_floating_get_type (void); + +_GI_TEST_EXTERN RegressTestFloating* regress_test_floating_new (void); /* Function signature torture tests */ + +_GI_TEST_EXTERN void regress_test_torture_signature_0 (int x, double *y, int *z, const char *foo, int *q, guint m); + +_GI_TEST_EXTERN gboolean regress_test_torture_signature_1 (int x, double *y, int *z, @@ -824,6 +1218,8 @@ gboolean regress_test_torture_signature_1 (int x, int *q, guint m, GError **error); + +_GI_TEST_EXTERN void regress_test_torture_signature_2 (int x, RegressTestCallbackUserData callback, gpointer user_data, @@ -834,12 +1230,22 @@ void regress_test_torture_signature_2 (int x, int *q, guint m); + +_GI_TEST_EXTERN GValue *regress_test_date_in_gvalue (void); + +_GI_TEST_EXTERN GValue *regress_test_strv_in_gvalue (void); + +_GI_TEST_EXTERN GObject * _regress_this_is_a_private_symbol (void); + +_GI_TEST_EXTERN void regress_test_multiline_doc_comments (void); + +_GI_TEST_EXTERN void regress_test_nested_parameter (int a); /** @@ -854,6 +1260,8 @@ typedef struct double v; } RegressSkippedStructure; + +_GI_TEST_EXTERN void regress_random_function_with_skipped_structure (int x, RegressSkippedStructure *foo, double v); @@ -881,6 +1289,8 @@ typedef RegressIntset RegressIntSet; */ typedef GPtrArray RegressPtrArrayAlias; + +_GI_TEST_EXTERN void regress_introspectable_via_alias (RegressPtrArrayAlias *data); /** @@ -890,6 +1300,8 @@ void regress_introspectable_via_alias (RegressPtrArrayAlias *data); */ typedef va_list RegressVaListAlias; + +_GI_TEST_EXTERN void regress_not_introspectable_via_alias (RegressVaListAlias ok); /** @@ -899,6 +1311,8 @@ void regress_not_introspectable_via_alias (RegressVaListAlias ok); */ typedef RegressTestBoxed RegressAliasedTestBoxed; + +_GI_TEST_EXTERN void regress_aliased_caller_alloc (RegressAliasedTestBoxed *boxed); /* private testing */ @@ -924,12 +1338,16 @@ typedef struct { gint array[10]; } RegressTestStructFixedArray; + +_GI_TEST_EXTERN void regress_test_struct_fixed_array_frob (RegressTestStructFixedArray *str); typedef struct { gchar name[32]; } RegressLikeXklConfigItem; + +_GI_TEST_EXTERN void regress_like_xkl_config_item_set_name (RegressLikeXklConfigItem *self, const char *name); @@ -947,6 +1365,7 @@ void regress_like_xkl_config_item_set_name (RegressLikeXklConfigItem *self, "POWERSHARE,PRODIGY,TLX,X400,GIF,CGM,WMF,BMP,MET,PMB,DIB,PICT,TIFF," \ "PDF,PS,JPEG,QTIME,MPEG,MPEG2,AVI,WAVE,AIFF,PCM,X509,PGP" +_GI_TEST_EXTERN void regress_has_parameter_named_attrs (int foo, gpointer attributes); diff --git a/tests/scanner/sletter.c b/tests/scanner/sletter.c index a6e7bcca..8cb6db52 100644 --- a/tests/scanner/sletter.c +++ b/tests/scanner/sletter.c @@ -1,4 +1,5 @@ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ +#include "config.h" #include "sletter.h" diff --git a/tests/scanner/sletter.h b/tests/scanner/sletter.h index 20797f6c..f6a146df 100644 --- a/tests/scanner/sletter.h +++ b/tests/scanner/sletter.h @@ -3,11 +3,14 @@ #include <gio/gio.h> +#include "gitestmacros.h" + typedef struct { double x; double y; } SPoint; +_GI_TEST_EXTERN void s_hello (void); /* Like GSpawnError; not registered with GType */ @@ -17,6 +20,8 @@ typedef enum S_SPAWN_ERROR_CODE2 = 2, S_SPAWN_ERROR_CODE3 = 3 } SSpawnError; + +_GI_TEST_EXTERN GQuark s_spawn_error_quark (void); /* Like GDBusError but not registered with GType */ @@ -26,6 +31,8 @@ typedef enum S_DBUS_ERROR_CODE2 = 2, S_DBUS_ERROR_CODE3 = 3 } SDBusError; + +_GI_TEST_EXTERN GQuark s_dbus_error_quark (void); #endif diff --git a/tests/scanner/typedefs.c b/tests/scanner/typedefs.c index 7c1dea19..03614b64 100644 --- a/tests/scanner/typedefs.c +++ b/tests/scanner/typedefs.c @@ -1,3 +1,5 @@ +#include "config.h" + #include "typedefs.h" static TypedefsBoxedWithTypedefBefore * diff --git a/tests/scanner/typedefs.h b/tests/scanner/typedefs.h index 2a5d8beb..7eaa73bb 100644 --- a/tests/scanner/typedefs.h +++ b/tests/scanner/typedefs.h @@ -3,6 +3,8 @@ #include <glib-object.h> +#include "gitestmacros.h" + /* * Tests for various orderings of typedef struct declarations. */ @@ -40,6 +42,8 @@ typedef struct _TypedefsBoxedWithTypedefBefore TypedefsBoxedWithTypedefBefore; struct _TypedefsBoxedWithTypedefBefore { int value; }; + +_GI_TEST_EXTERN GType typedefs_boxed_with_typedef_before_get_type (void) G_GNUC_CONST; @@ -48,6 +52,8 @@ struct _TypedefsBoxedWithTypedefAfter { int value; }; typedef struct _TypedefsBoxedWithTypedefAfter TypedefsBoxedWithTypedefAfter; + +_GI_TEST_EXTERN GType typedefs_boxed_with_typedef_after_get_type (void) G_GNUC_CONST; @@ -55,6 +61,8 @@ GType typedefs_boxed_with_typedef_after_get_type (void) G_GNUC_CONST; typedef struct _TypedefsBoxedWithTagAndTypedef { int value; } TypedefsBoxedWithTagAndTypedef; + +_GI_TEST_EXTERN GType typedefs_boxed_with_tag_and_typedef_get_type (void) G_GNUC_CONST; @@ -62,11 +70,15 @@ GType typedefs_boxed_with_tag_and_typedef_get_type (void) G_GNUC_CONST; typedef struct { int value; } TypedefsBoxedWithAnonymousTypedef; + +_GI_TEST_EXTERN GType typedefs_boxed_with_anonymous_typedef_get_type (void) G_GNUC_CONST; /* BUG: uses <record> instead of <glib:boxed> */ typedef struct _TypedefsBoxedWithHiddenStruct TypedefsBoxedWithHiddenStruct; + +_GI_TEST_EXTERN GType typedefs_boxed_with_hidden_struct_get_type (void) G_GNUC_CONST; diff --git a/tests/scanner/utility.c b/tests/scanner/utility.c index fb1cf5a0..c5e48a4e 100644 --- a/tests/scanner/utility.c +++ b/tests/scanner/utility.c @@ -1,4 +1,6 @@ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ +#include "config.h" + #include "utility.h" G_DEFINE_TYPE (UtilityObject, utility_object, G_TYPE_OBJECT); diff --git a/tests/scanner/utility.h b/tests/scanner/utility.h index 8dc6d549..ff1c3824 100644 --- a/tests/scanner/utility.h +++ b/tests/scanner/utility.h @@ -3,6 +3,8 @@ #include <glib-object.h> +#include "gitestmacros.h" + #define UTILITY_TYPE_OBJECT (utility_object_get_type ()) #define UTILITY_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), UTILITY_TYPE_OBJECT, UtilityObject)) #define UTILITY_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), UTILITY_TYPE_OBJECT)) @@ -53,7 +55,11 @@ typedef struct typedef void (*UtilityFileFunc)(const char *path, gpointer user_data); + +_GI_TEST_EXTERN GType utility_object_get_type (void) G_GNUC_CONST; + +_GI_TEST_EXTERN void utility_object_watch_dir (UtilityObject *object, const char *path, UtilityFileFunc func, @@ -90,6 +96,7 @@ typedef union double real; } UtilityUnion; +_GI_TEST_EXTERN void utility_dir_foreach (const char *path, UtilityFileFunc func, gpointer user_data); #endif /* __UTILITY_H__ */ diff --git a/tests/scanner/warnlib.h b/tests/scanner/warnlib.h index a4c28b47..546e8ea3 100644 --- a/tests/scanner/warnlib.h +++ b/tests/scanner/warnlib.h @@ -5,9 +5,13 @@ #include <gio/gio.h> +#include "gitestmacros.h" + #define WARNLIB_UNPAIRED_ERROR (warnlib_unpaired_error_quark ()) +_GI_TEST_EXTERN GQuark warnlib_unpaired_error_quark (void); +_GI_TEST_EXTERN gboolean warnlib_throw_unpaired (GError **error); /* interface */ @@ -31,9 +35,12 @@ struct _WarnLibWhateverIface void (*do_boo) (WarnLibWhatever *self, int x, gpointer y); }; +_GI_TEST_EXTERN void warnlib_whatever_do_moo (WarnLibWhatever *self, int, gpointer); +_GI_TEST_EXTERN void warnlib_whatever_do_boo (WarnLibWhatever *self, int, gpointer); +_GI_TEST_EXTERN GType warnlib_whatever_get_type (void) G_GNUC_CONST; #endif |