test-utils: add a create_and_monitor element function.
authorMathieu Duponchelle <mathieu.duponchelle@collabora.com>
Thu, 2 Oct 2014 00:34:26 +0000 (02:34 +0200)
committerMathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Tue, 21 Oct 2014 18:13:51 +0000 (20:13 +0200)
validate/tests/check/validate/test-utils.c
validate/tests/check/validate/test-utils.h

index 51b8fd0..e07e118 100644 (file)
@@ -196,3 +196,20 @@ fake_demuxer_new (void)
 {
   return GST_ELEMENT (g_object_new (FAKE_DEMUXER_TYPE, NULL));
 }
+
+GstElement * create_and_monitor_element (const gchar *factoryname, const gchar *name,
+    GstValidateRunner *runner)
+{
+  GstElement *element;
+  GstValidateMonitor *monitor;
+
+  element = gst_element_factory_make (factoryname, name);
+  if (runner) {
+    monitor =
+        gst_validate_monitor_factory_create (GST_OBJECT (element), runner, NULL);
+    gst_validate_reporter_set_handle_g_logs (GST_VALIDATE_REPORTER (monitor));
+    fail_unless (GST_IS_VALIDATE_ELEMENT_MONITOR (monitor));
+  }
+
+ return element;
+}
index a8dfd0e..3fe5156 100644 (file)
@@ -31,6 +31,7 @@ void check_destroyed (gpointer object_to_unref, gpointer first_object, ...) G_GN
 GstValidateRunner * setup_runner (GstObject * object);
 void clean_bus (GstElement *element);
 GstValidatePadMonitor * get_pad_monitor (GstPad *pad);
+GstElement * create_and_monitor_element (const gchar *factoryname, const gchar *name, GstValidateRunner *runner);
 
 typedef struct {
   GstElement parent;