/* test master volume, using appsink? */ static void test_bt_sink_bin_master_volume (BT_TEST_ARGS) { BT_TEST_START; GST_INFO ("-- arrange --"); gdouble volume = 1.0 / (gdouble) _i; g_object_set (settings, "audiosink", "fakesink", NULL); make_new_song ( /*square */ 1); BtMachine *machine = bt_setup_get_machine_by_type (setup, BT_TYPE_SINK_MACHINE); GstElement *sink_bin = GST_ELEMENT (check_gobject_get_object_property (machine, "machine")); BtParameterGroup *pg = bt_machine_get_global_param_group (machine); gst_element_set_state (sink_bin, GST_STATE_READY); GstElement *fakesink = get_sink_element ((GstBin *) sink_bin); g_object_set (fakesink, "signal-handoffs", TRUE, NULL); g_signal_connect (fakesink, "preroll-handoff", (GCallback) handoff_buffer_cb, NULL); g_signal_connect (fakesink, "handoff", (GCallback) handoff_buffer_cb, NULL); GST_INFO ("-- act --"); g_object_set (sink_bin, "master-volume", volume, NULL); bt_parameter_group_set_param_default (pg, bt_parameter_group_get_param_index (pg, "master-volume")); bt_song_play (song); run_main_loop_until_eos (); GST_INFO ("-- assert --"); GST_INFO ("minv=%7.4lf, maxv=%7.4lf", minv, maxv); ck_assert_float_eq (maxv, +volume); ck_assert_float_eq (minv, -volume); GST_INFO ("-- cleanup --"); bt_song_stop (song); gst_object_unref (sink_bin); g_object_try_unref (machine); BT_TEST_END; }
/* insert analyzers */ static void test_bt_sink_bin_analyzers (BT_TEST_ARGS) { BT_TEST_START; GST_INFO ("-- arrange --"); g_object_set (settings, "audiosink", "fakesink", NULL); make_new_song ( /*square */ 1); GstElement *sink_bin = get_sink_bin (); GstElement *fakesink = gst_element_factory_make ("fakesink", NULL); GstElement *queue = gst_element_factory_make ("queue", NULL); GList *analyzers_list = g_list_prepend (g_list_prepend (NULL, fakesink), queue); g_object_set (fakesink, "signal-handoffs", TRUE, "sync", FALSE, "qos", FALSE, "silent", TRUE, "async", FALSE, NULL); g_signal_connect (fakesink, "preroll-handoff", (GCallback) handoff_buffer_cb, NULL); g_signal_connect (fakesink, "handoff", (GCallback) handoff_buffer_cb, NULL); g_object_set (queue, "max-size-buffers", 10, "max-size-bytes", 0, "max-size-time", G_GUINT64_CONSTANT (0), "leaky", 2, "silent", TRUE, NULL); g_object_set (sink_bin, "analyzers", analyzers_list, NULL); GST_INFO ("-- act --"); bt_song_play (song); run_main_loop_until_eos (); GST_INFO ("-- assert --"); GST_INFO ("minv=%7.4lf, maxv=%7.4lf", minv, maxv); ck_assert_float_eq (maxv, +1.0); ck_assert_float_eq (minv, -1.0); GST_INFO ("-- cleanup --"); bt_song_stop (song); gst_object_unref (sink_bin); BT_TEST_END; }
END_TEST START_TEST (test_riemann_event_set) { riemann_event_t *event; ck_assert_errno (riemann_event_set (NULL), EINVAL); event = riemann_event_new (); ck_assert (riemann_event_set (event, RIEMANN_EVENT_FIELD_NONE) == 0); ck_assert (riemann_event_set (event, RIEMANN_EVENT_FIELD_TIME, (int64_t) 1234, RIEMANN_EVENT_FIELD_NONE) == 0); ck_assert_int_eq (event->has_time, 1); ck_assert_int_eq (event->time, 1234); ck_assert (riemann_event_set (event, RIEMANN_EVENT_FIELD_STATE, "ok", RIEMANN_EVENT_FIELD_NONE) == 0); ck_assert (event->state != NULL); ck_assert_str_eq (event->state, "ok"); ck_assert (riemann_event_set (event, RIEMANN_EVENT_FIELD_SERVICE, "test", RIEMANN_EVENT_FIELD_NONE) == 0); ck_assert (event->service != NULL); ck_assert_str_eq (event->service, "test"); ck_assert (riemann_event_set (event, RIEMANN_EVENT_FIELD_HOST, "localhost", RIEMANN_EVENT_FIELD_NONE) == 0); ck_assert (event->host != NULL); ck_assert_str_eq (event->host, "localhost"); ck_assert (riemann_event_set (event, RIEMANN_EVENT_FIELD_DESCRIPTION, "something", RIEMANN_EVENT_FIELD_NONE) == 0); ck_assert (event->description != NULL); ck_assert_str_eq (event->description, "something"); ck_assert_errno (riemann_event_set (event, RIEMANN_EVENT_FIELD_TAGS, "tag-1", "tag-2", NULL, RIEMANN_EVENT_FIELD_NONE), 0); ck_assert_int_eq (event->n_tags, 2); ck_assert_str_eq (event->tags[0], "tag-1"); ck_assert_str_eq (event->tags[1], "tag-2"); ck_assert (riemann_event_set (event, RIEMANN_EVENT_FIELD_TTL, (float) 1, RIEMANN_EVENT_FIELD_NONE) == 0); ck_assert_int_eq (event->has_ttl, 1); ck_assert_float_eq (event->ttl, (float) 1); ck_assert_errno (riemann_event_set (event, RIEMANN_EVENT_FIELD_ATTRIBUTES, riemann_attribute_create ("key-1", "value-1"), riemann_attribute_create ("key-2", "value-2"), NULL, RIEMANN_EVENT_FIELD_NONE), 0); ck_assert_int_eq (event->n_attributes, 2); ck_assert_str_eq (event->attributes[0]->key, "key-1"); ck_assert_str_eq (event->attributes[1]->value, "value-2"); ck_assert_errno (riemann_event_set (event, RIEMANN_EVENT_FIELD_ATTRIBUTES, riemann_attribute_create ("key-3", "value-3"), NULL, RIEMANN_EVENT_FIELD_NONE), 0); ck_assert_int_eq (event->n_attributes, 1); ck_assert_str_eq (event->attributes[0]->key, "key-3"); ck_assert_str_eq (event->attributes[0]->value, "value-3"); ck_assert_errno (riemann_event_set (event, RIEMANN_EVENT_FIELD_STRING_ATTRIBUTES, "key-4", "value-4", "key-5", "value-5", NULL, RIEMANN_EVENT_FIELD_NONE), 0); ck_assert_int_eq (event->n_attributes, 2); ck_assert_str_eq (event->attributes[0]->key, "key-4"); ck_assert_str_eq (event->attributes[1]->value, "value-5"); ck_assert (riemann_event_set (event, RIEMANN_EVENT_FIELD_METRIC_S64, (int64_t) 12345, RIEMANN_EVENT_FIELD_NONE) == 0); ck_assert_int_eq (event->has_metric_sint64, 1); ck_assert_int_eq (event->metric_sint64, 12345); ck_assert (riemann_event_set (event, RIEMANN_EVENT_FIELD_METRIC_D, (double) 1.5, RIEMANN_EVENT_FIELD_NONE) == 0); ck_assert_int_eq (event->has_metric_d, 1); ck_assert_float_eq (event->metric_d, 1.5); ck_assert (riemann_event_set (event, RIEMANN_EVENT_FIELD_METRIC_F, (float) 1.5, RIEMANN_EVENT_FIELD_NONE) == 0); ck_assert_int_eq (event->has_metric_f, 1); ck_assert_float_eq (event->metric_f, 1.5); ck_assert_errno (riemann_event_set (event, RIEMANN_EVENT_FIELD_METRIC_F * 2, 0, RIEMANN_EVENT_FIELD_NONE), EPROTO); ck_assert (riemann_event_set (event, RIEMANN_EVENT_FIELD_SERVICE, NULL, RIEMANN_EVENT_FIELD_NONE) == 0); ck_assert (event->service == NULL); riemann_event_free (event); }