sensord: move sensor provider testcases to unit_provider.cpp 23/128523/1
authorkibak.yoon <kibak.yoon@samsung.com>
Wed, 10 May 2017 08:40:00 +0000 (17:40 +0900)
committerkibak.yoon <kibak.yoon@samsung.com>
Wed, 10 May 2017 08:40:00 +0000 (17:40 +0900)
Change-Id: Iec7bfc6daa6f8a0281be485f854a064e7fac9b69
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
src/sensorctl/testcase/unit_client.cpp
src/sensorctl/testcase/unit_provider.cpp

index 28900bb..16c5f1d 100644 (file)
 
 #include <client/sensor_manager.h>
 #include <client/sensor_listener.h>
-#include <ipc_client.h>
-#include <channel_handler.h>
 
 #include "log.h"
 #include "mainloop.h"
 #include "test_bench.h"
 
+static bool called = false;
+
+static void event_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data)
+{
+       _I("[%llu] %f %f %f\n", data->timestamp, data->values[0], data->values[1], data->values[2]);
+}
+
 TESTCASE(sensor_api_get_default_sensor, get_sensor_p_1)
 {
        int err;
@@ -75,16 +80,6 @@ TESTCASE(sensor_api_connect, connect_p_1)
        return true;
 }
 
-static bool called = false;
-
-static void basic_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data)
-{
-       if (test_option::full_log == false) {
-               while (true) {}
-       }
-       _I("[%llu] %f %f %f\n", data->timestamp, data->values[0], data->values[1], data->values[2]);
-}
-
 TESTCASE(sensor_api_all, all_p_1)
 {
        int err;
@@ -105,7 +100,7 @@ TESTCASE(sensor_api_all, all_p_1)
        handle = sensord_connect(sensor);
        ASSERT_EQ(err, 0);
 
-       ret = sensord_register_event(handle, 1, 100, 100, basic_cb, NULL);
+       ret = sensord_register_event(handle, 1, 100, 100, event_cb, NULL);
        ASSERT_TRUE(ret);
 
        ret = sensord_start(handle, 0);
@@ -132,183 +127,3 @@ TESTCASE(sensor_api_all, all_p_1)
 
        return true;
 }
-
-static bool m_start = false;
-
-static void start_cb(sensord_provider_h provider, void *user_data)
-{
-       m_start = true;
-       _N("START\n");
-}
-
-static void stop_cb(sensord_provider_h provider, void *user_data)
-{
-       m_start = false;
-       _N("STOP\n");
-}
-
-static void interval_cb(sensord_provider_h provider, unsigned int interval_ms, void *user_data)
-{
-       _N("Interval : %d\n", interval_ms);
-}
-
-static gboolean publish(gpointer gdata)
-{
-       if (!m_start) return TRUE;
-
-       sensord_provider_h *provider = reinterpret_cast<sensord_provider_h *>(gdata);
-
-       sensor_data_t data;
-       data.accuracy = 3;
-       data.timestamp = sensor::utils::get_timestamp();
-       data.value_count = 3;
-       data.values[0] = 1;
-       data.values[1] = 2;
-       data.values[2] = 3;
-
-       _N("[%llu] %f %f %f\n", data.timestamp, data.values[0], data.values[1], data.values[2]);
-       sensord_provider_publish(provider, data);
-       return TRUE;
-}
-
-/* TODO: change it from manual test to auto-test */
-TESTCASE(sensor_api_mysensor_provider, provider_p_1)
-{
-       const char *uri = "http://example.org/sensor/mysensor/mysensor";
-       const char *name = "mysensor";
-       const char *vendor = "tizen";
-
-       int err = 0;
-       sensor_t sensor;
-       sensord_provider_h provider;
-
-       err = sensord_create_provider(uri, &provider);
-       ASSERT_EQ(err, 0);
-
-       err = sensord_provider_set_name(provider, name);
-       ASSERT_EQ(err, 0);
-       err = sensord_provider_set_vendor(provider, vendor);
-       ASSERT_EQ(err, 0);
-       err = sensord_provider_set_range(provider, 0.0f, 1.0f);
-       ASSERT_EQ(err, 0);
-       err = sensord_provider_set_resolution(provider, 0.01f);
-       ASSERT_EQ(err, 0);
-
-       err = sensord_add_provider(provider);
-       ASSERT_EQ(err, 0);
-
-       err = sensord_provider_set_start_cb(provider, start_cb, NULL);
-       ASSERT_EQ(err, 0);
-       err = sensord_provider_set_stop_cb(provider, stop_cb, NULL);
-       ASSERT_EQ(err, 0);
-       err = sensord_provider_set_set_interval_cb(provider, interval_cb, NULL);
-       ASSERT_EQ(err, 0);
-
-       err = sensord_get_default_sensor_by_uri(uri, &sensor);
-       ASSERT_EQ(err, 0);
-
-       g_timeout_add_seconds(1, publish, provider);
-       mainloop::run();
-
-       err = sensord_remove_provider(provider);
-       ASSERT_EQ(err, 0);
-       err = sensord_destroy_provider(provider);
-       ASSERT_EQ(err, 0);
-
-       return true;
-}
-
-TESTCASE(sensor_api_mysensor_listener, listener_p_1)
-{
-       const char *uri = "http://example.org/sensor/mysensor/mysensor";
-       int err;
-       bool ret;
-       int handle;
-       sensor_t sensor;
-
-       called = false;
-
-       err = sensord_get_default_sensor_by_uri(uri, &sensor);
-       ASSERT_EQ(err, 0);
-
-       handle = sensord_connect(sensor);
-       ASSERT_EQ(err, 0);
-
-       ret = sensord_register_event(handle, 1, 100, 100, basic_cb, NULL);
-       ASSERT_TRUE(ret);
-
-       ret = sensord_start(handle, 0);
-       ASSERT_TRUE(ret);
-
-       ret = sensord_change_event_interval(handle, 0, 100);
-       ASSERT_TRUE(ret);
-
-       mainloop::run();
-
-       ret = sensord_stop(handle);
-       ASSERT_TRUE(ret);
-
-       ret = sensord_unregister_event(handle, 1);
-       ASSERT_TRUE(ret);
-
-       ret = sensord_disconnect(handle);
-       ASSERT_TRUE(ret);
-
-       return true;
-}
-
-static void add_mysensor(void)
-{
-       const char *uri = "http://example.org/sensor/mysensor/mysensor";
-       const char *name = "mysensor";
-       const char *vendor = "tizen";
-
-       sensord_provider_h provider;
-
-       sensord_create_provider(uri, &provider);
-       sensord_provider_set_name(provider, name);
-       sensord_provider_set_vendor(provider, vendor);
-       sensord_provider_set_range(provider, 0.0f, 1.0f);
-       sensord_provider_set_resolution(provider, 0.01f);
-
-       sensord_add_provider(provider);
-
-       sensord_remove_provider(provider);
-       sensord_destroy_provider(provider);
-}
-
-static bool added = false;
-
-static void added_cb(const char *uri, void *user_data)
-{
-       _I("ADDED[%s]\n", uri);
-       added = true;
-}
-
-static void removed_cb(const char *uri, void *user_data)
-{
-       _I("REMOVED[%s]\n", uri);
-       if (added)
-               mainloop::stop();
-}
-
-TESTCASE(sensor_api_mysensor_cb, mysensor_cb_p_1)
-{
-       int ret;
-
-       ret = sensord_add_sensor_added_cb(added_cb, NULL);
-       ASSERT_EQ(ret, 0);
-       ret = sensord_add_sensor_removed_cb(removed_cb, NULL);
-       ASSERT_EQ(ret, 0);
-
-       add_mysensor();
-
-       mainloop::run();
-
-       ret = sensord_remove_sensor_added_cb(added_cb);
-       ASSERT_EQ(ret, 0);
-       ret = sensord_remove_sensor_removed_cb(removed_cb);
-       ASSERT_EQ(ret, 0);
-
-       return true;
-}
index 1914652..89ae9e3 100644 (file)
 #include <unistd.h>
 #include <string.h>
 #include <sensor_internal.h>
+#include <sensor_utils.h>
 
 #include "log.h"
 #include "mainloop.h"
 #include "test_bench.h"
 
+#define MYSENSOR_URI "http://example.org/sensor/general/mysensor/mysensor"
+#define MYSENSOR_NAME "mysensor"
+#define MYSENSOR_VENDOR "tizen"
+
+static bool started = false;
+static bool added = false;
+static bool called = false;
+
+static void event_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data)
+{
+       if (test_option::full_log == false) {
+               while (true) {}
+       }
+       _I("[%llu] %f %f %f\n", data->timestamp, data->values[0], data->values[1], data->values[2]);
+}
+
+static void start_cb(sensord_provider_h provider, void *user_data)
+{
+       started = true;
+       _N("START\n");
+}
+
+static void stop_cb(sensord_provider_h provider, void *user_data)
+{
+       started = false;
+       _N("STOP\n");
+}
+
+static void interval_cb(sensord_provider_h provider, unsigned int interval_ms, void *user_data)
+{
+       _N("Interval : %d\n", interval_ms);
+}
+
+static gboolean publish(gpointer gdata)
+{
+       if (!started) return TRUE;
+
+       sensord_provider_h *provider = reinterpret_cast<sensord_provider_h *>(gdata);
+
+       sensor_data_t data;
+       data.accuracy = 3;
+       data.timestamp = sensor::utils::get_timestamp();
+       data.value_count = 3;
+       data.values[0] = 1;
+       data.values[1] = 2;
+       data.values[2] = 3;
+
+       _N("[%llu] %f %f %f\n", data.timestamp, data.values[0], data.values[1], data.values[2]);
+       sensord_provider_publish(provider, data);
+       return TRUE;
+}
+
+static void add_mysensor(void)
+{
+       sensord_provider_h provider;
+
+       sensord_create_provider(MYSENSOR_URI, &provider);
+       sensord_provider_set_name(provider, MYSENSOR_NAME);
+       sensord_provider_set_vendor(provider, MYSENSOR_VENDOR);
+       sensord_provider_set_range(provider, 0.0f, 1.0f);
+       sensord_provider_set_resolution(provider, 0.01f);
+
+       sensord_add_provider(provider);
+
+       sensord_remove_provider(provider);
+       sensord_destroy_provider(provider);
+}
+
+static void added_cb(const char *uri, void *user_data)
+{
+       _I("[  ADDED  ] %s\n", uri);
+       added = true;
+}
+
+static void removed_cb(const char *uri, void *user_data)
+{
+       _I("[ REMOVED ] %s\n", uri);
+       if (added)
+               mainloop::stop();
+}
+
 TESTCASE(sensor_api_provider_uri, provider_check_uri)
 {
        int err;
        sensord_provider_h provider;
 
-       const char *uri_p1 = "http://example.org/sensor/mysensor_type/mysensor";
-       const char *uri_p2 = "http://developer.samsung.com/sensor/mysensor_type/mysensor";
-       const char *uri_n1 = "http://tizen.org/sensor/accelerometer/mysensor";
-       const char *uri_n2 = "http://tizen.org/mysensor/accelerometer/mysensor";
-       const char *uri_n3 = "http:/example.org/sensor/mysensor_type/mysensor";
-       const char *uri_n5 = "http://example.org/sensor/mysensor_type";
-       const char *uri_n4 = "http://example.org/sensor/mysensor_type/mysensor/mysensor";
+       const char *uri_p1 = "http://example.org/sensor/general/mysensor_type/mysensor";
+       const char *uri_p2 = "http://developer.samsung.com/sensor/general/mysensor_type/mysensor";
+       const char *uri_n1 = "http://tizen.org/sensor/general/accelerometer/mysensor";
+       const char *uri_n2 = "http://tizen.org/mysensor/general/accelerometer/mysensor";
+       const char *uri_n3 = "http:/example.org/sensor/general/mysensor_type/mysensor";
+       const char *uri_n5 = "http://example.org/sensor/general/mysensor_type";
+       const char *uri_n4 = "http://example.org/sensor/general/mysensor_type/mysensor/mysensor";
 
        err = sensord_create_provider(uri_p1, &provider);
        EXPECT_EQ(err, 0);
@@ -55,3 +137,105 @@ TESTCASE(sensor_api_provider_uri, provider_check_uri)
 
        return true;
 }
+
+/* TODO: change it from manual test to auto-test */
+TESTCASE(sensor_api_provider_mysensor, provider_p_1)
+{
+       int err = 0;
+       sensor_t sensor;
+       sensord_provider_h provider;
+
+       err = sensord_create_provider(MYSENSOR_URI, &provider);
+       ASSERT_EQ(err, 0);
+
+       err = sensord_provider_set_name(provider, MYSENSOR_NAME);
+       ASSERT_EQ(err, 0);
+       err = sensord_provider_set_vendor(provider, MYSENSOR_VENDOR);
+       ASSERT_EQ(err, 0);
+       err = sensord_provider_set_range(provider, 0.0f, 1.0f);
+       ASSERT_EQ(err, 0);
+       err = sensord_provider_set_resolution(provider, 0.01f);
+       ASSERT_EQ(err, 0);
+
+       err = sensord_add_provider(provider);
+       ASSERT_EQ(err, 0);
+
+       err = sensord_provider_set_start_cb(provider, start_cb, NULL);
+       ASSERT_EQ(err, 0);
+       err = sensord_provider_set_stop_cb(provider, stop_cb, NULL);
+       ASSERT_EQ(err, 0);
+       err = sensord_provider_set_set_interval_cb(provider, interval_cb, NULL);
+       ASSERT_EQ(err, 0);
+
+       err = sensord_get_default_sensor_by_uri(MYSENSOR_URI, &sensor);
+       ASSERT_EQ(err, 0);
+
+       g_timeout_add_seconds(1, publish, provider);
+       mainloop::run();
+
+       err = sensord_remove_provider(provider);
+       ASSERT_EQ(err, 0);
+       err = sensord_destroy_provider(provider);
+       ASSERT_EQ(err, 0);
+
+       return true;
+}
+
+TESTCASE(sensor_api_listener_mysensor, listener_p_1)
+{
+       int err;
+       bool ret;
+       int handle;
+       sensor_t sensor;
+
+       called = false;
+
+       err = sensord_get_default_sensor_by_uri(MYSENSOR_URI, &sensor);
+       ASSERT_EQ(err, 0);
+
+       handle = sensord_connect(sensor);
+       ASSERT_EQ(err, 0);
+
+       ret = sensord_register_event(handle, 1, 100, 100, event_cb, NULL);
+       ASSERT_TRUE(ret);
+
+       ret = sensord_start(handle, 0);
+       ASSERT_TRUE(ret);
+
+       ret = sensord_change_event_interval(handle, 0, 100);
+       ASSERT_TRUE(ret);
+
+       mainloop::run();
+
+       ret = sensord_stop(handle);
+       ASSERT_TRUE(ret);
+
+       ret = sensord_unregister_event(handle, 1);
+       ASSERT_TRUE(ret);
+
+       ret = sensord_disconnect(handle);
+       ASSERT_TRUE(ret);
+
+       return true;
+}
+
+TESTCASE(sensor_api_provider_cb, mysensor_cb_p_1)
+{
+       int ret;
+
+       ret = sensord_add_sensor_added_cb(added_cb, NULL);
+       ASSERT_EQ(ret, 0);
+       ret = sensord_add_sensor_removed_cb(removed_cb, NULL);
+       ASSERT_EQ(ret, 0);
+
+       add_mysensor();
+
+       mainloop::run();
+
+       ret = sensord_remove_sensor_added_cb(added_cb);
+       ASSERT_EQ(ret, 0);
+       ret = sensord_remove_sensor_removed_cb(removed_cb);
+       ASSERT_EQ(ret, 0);
+
+       return true;
+}