sensorctl: clean up testcases 86/143586/1
authorkibak.yoon <kibak.yoon@samsung.com>
Thu, 10 Aug 2017 11:21:03 +0000 (20:21 +0900)
committerkibak.yoon <kibak.yoon@samsung.com>
Thu, 10 Aug 2017 11:21:03 +0000 (20:21 +0900)
Change-Id: I853f84296e788da1646483b3eb2197bd47e0229e
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
src/sensorctl/testcase/accelerometer.cpp [deleted file]
src/sensorctl/testcase/sensor_accelerometer.cpp [new file with mode: 0644]
src/sensorctl/testcase/sensor_basic.cpp
src/sensorctl/testcase/sensor_interval.cpp
src/sensorctl/testcase/sensor_listener.cpp [new file with mode: 0644]
src/sensorctl/testcase/sensor_provider.cpp [new file with mode: 0644]
src/sensorctl/testcase/unit_client.cpp [deleted file]
src/sensorctl/testcase/unit_ipc.cpp
src/sensorctl/testcase/unit_provider.cpp [deleted file]
src/sensorctl/testcase/unit_socket.cpp

diff --git a/src/sensorctl/testcase/accelerometer.cpp b/src/sensorctl/testcase/accelerometer.cpp
deleted file mode 100644 (file)
index ed526c3..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * sensorctl
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include <sensor_internal.h>
-
-#include "log.h"
-#include "mainloop.h"
-#include "test_bench.h"
-#include "sensor_adapter.h"
-
-static void basic_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data)
-{
-       EXPECT_GT(data->timestamp, 0);
-       EXPECT_NEAR(data->values[0], 0, 19.6);
-       EXPECT_NEAR(data->values[1], 0, 19.6);
-       EXPECT_NEAR(data->values[2], 0, 19.6);
-
-       mainloop::stop();
-}
-
-TESTCASE(accelerometer_basic, start_stop_p)
-{
-       bool ret;
-       int handle;
-
-       sensor_info info(ACCELEROMETER_SENSOR, 0,
-                       100, 1000, SENSOR_OPTION_ALWAYS_ON, basic_cb, NULL);
-
-       ret = sensor_adapter::start(info, handle);
-       ASSERT_TRUE(ret);
-
-       mainloop::run();
-
-       ret = sensor_adapter::stop(info, handle);
-       ASSERT_TRUE(ret);
-
-       return true;
-}
-
-static void get_data_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data)
-{
-       mainloop::stop();
-}
-
-TESTCASE(accelerometer_basic, get_data_p)
-{
-       bool ret;
-       int handle;
-       sensor_data_t data;
-
-       sensor_info info(ACCELEROMETER_SENSOR, 0,
-                       100, 1000, SENSOR_OPTION_ALWAYS_ON, get_data_cb, NULL);
-
-       ret = sensor_adapter::start(info, handle);
-       ASSERT_TRUE(ret);
-
-       mainloop::run();
-
-       ret = sensor_adapter::get_data(handle, info.type, data);
-       ASSERT_TRUE(ret);
-
-       ret = sensor_adapter::stop(info, handle);
-       ASSERT_TRUE(ret);
-
-       return true;
-}
-
-static unsigned long long prev_prev_ts;
-static unsigned long long prev_ts;
-static int event_count;
-
-static void accel_regular_interval_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data)
-{
-       int prev_gap;
-       int current_gap;
-       if (prev_prev_ts == 0) {
-               prev_prev_ts = data->timestamp;
-               return;
-       }
-
-       if (prev_ts == 0) {
-               prev_ts = data->timestamp;
-               return;
-       }
-
-       prev_gap = prev_ts - prev_prev_ts;
-       current_gap = data->timestamp - prev_ts;
-
-       EXPECT_NEAR(current_gap, prev_gap, 10000);
-       prev_prev_ts = prev_ts;
-       prev_ts = data->timestamp;
-
-       if (event_count++ > 3)
-               mainloop::stop();
-}
-
-TESTCASE(accelerometer_interval, regular_interval_p)
-{
-       bool ret;
-       int handle;
-       prev_prev_ts = 0;
-       prev_ts = 0;
-       event_count = 0;
-
-       sensor_info info(ACCELEROMETER_SENSOR, 0,
-                       100, 1000, SENSOR_OPTION_ALWAYS_ON, accel_regular_interval_cb, NULL);
-
-       ret = sensor_adapter::start(info, handle);
-       ASSERT_TRUE(ret);
-
-       mainloop::run();
-
-       ret = sensor_adapter::stop(info, handle);
-       ASSERT_TRUE(ret);
-
-       return true;
-}
-
-static void accel_interval_100ms_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data)
-{
-       if (prev_ts == 0) {
-               prev_ts = data->timestamp;
-               return;
-       }
-
-       /* 100ms + 20ms(error) */
-       EXPECT_LE(data->timestamp - prev_ts, 120000);
-       prev_ts = data->timestamp;
-
-       if (event_count++ > 3)
-               mainloop::stop();
-}
-
-TESTCASE(accelerometer_interval, 100ms_interval_p)
-{
-       bool ret;
-       int handle;
-
-       prev_ts = 0;
-       event_count = 0;
-
-       sensor_info info(ACCELEROMETER_SENSOR, 0,
-                       100, 1000, SENSOR_OPTION_ALWAYS_ON, accel_interval_100ms_cb, NULL);
-
-       ret = sensor_adapter::start(info, handle);
-       ASSERT_TRUE(ret);
-
-       mainloop::run();
-
-       ret = sensor_adapter::stop(info, handle);
-       ASSERT_TRUE(ret);
-
-       return true;
-}
diff --git a/src/sensorctl/testcase/sensor_accelerometer.cpp b/src/sensorctl/testcase/sensor_accelerometer.cpp
new file mode 100644 (file)
index 0000000..6f83619
--- /dev/null
@@ -0,0 +1,136 @@
+/*
+ * sensorctl
+ *
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <sensor_internal.h>
+
+#include "log.h"
+#include "mainloop.h"
+#include "test_bench.h"
+#include "sensor_adapter.h"
+
+static void test_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data)
+{
+       EXPECT_GT(data->timestamp, 0);
+       EXPECT_NEAR(data->values[0], 0, 19.6);
+       EXPECT_NEAR(data->values[1], 0, 19.6);
+       EXPECT_NEAR(data->values[2], 0, 19.6);
+
+       mainloop::stop();
+}
+
+TESTCASE(accelerometer_test, start_stop_p)
+{
+       bool ret;
+       int handle;
+
+       if (!sensor_adapter::is_supported(ACCELEROMETER_SENSOR))
+               return true; /* Not Supported */
+
+       sensor_info info(ACCELEROMETER_SENSOR, 0,
+                       100, 1000, SENSOR_OPTION_ALWAYS_ON, test_cb, NULL);
+
+       ret = sensor_adapter::start(info, handle);
+       ASSERT_TRUE(ret);
+
+       mainloop::run();
+
+       ret = sensor_adapter::stop(info, handle);
+       ASSERT_TRUE(ret);
+
+       return true;
+}
+
+static void get_data_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data)
+{
+       mainloop::stop();
+}
+
+TESTCASE(accelerometer_test, get_data_p)
+{
+       bool ret;
+       int handle;
+       sensor_data_t data;
+
+       if (!sensor_adapter::is_supported(ACCELEROMETER_SENSOR))
+               return true; /* Not Supported */
+
+       sensor_info info(ACCELEROMETER_SENSOR, 0,
+                       100, 1000, SENSOR_OPTION_ALWAYS_ON, get_data_cb, NULL);
+
+       ret = sensor_adapter::start(info, handle);
+       ASSERT_TRUE(ret);
+
+       mainloop::run();
+
+       ret = sensor_adapter::get_data(handle, info.type, data);
+       ASSERT_TRUE(ret);
+
+       ret = sensor_adapter::stop(info, handle);
+       ASSERT_TRUE(ret);
+
+       return true;
+}
+
+static unsigned long long time_first;
+static unsigned long long time_last;
+static int event_count;
+
+static void accel_interval_100ms_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data)
+{
+       if (event_count == 0) {
+               time_first = data->timestamp;
+               event_count++;
+               return;
+       }
+
+       if (event_count == 10) {
+               /* 100ms + 20ms(error) */
+               EXPECT_LE((data->timestamp - time_first) / 10, 120000);
+               mainloop::stop();
+               return;
+       }
+
+       event_count++;
+}
+
+TESTCASE(accelscope_test, 100ms_interval_p)
+{
+       bool ret;
+       int handle;
+
+       time_first = 0;
+       time_last = 0;
+       event_count = 0;
+
+       if (!sensor_adapter::is_supported(ACCELEROMETER_SENSOR))
+               return true; /* Not Supported */
+
+       sensor_info info(ACCELEROMETER_SENSOR, 0,
+                       100, 1000, SENSOR_OPTION_ALWAYS_ON, accel_interval_100ms_cb, NULL);
+
+       ret = sensor_adapter::start(info, handle);
+       ASSERT_TRUE(ret);
+
+       mainloop::run();
+
+       ret = sensor_adapter::stop(info, handle);
+       ASSERT_TRUE(ret);
+
+       return true;
+}
index cc56dec9af7d01fbe1a3c5cf3bfb00a768fe36b9..ef6b1394ce0a773d1209003ad7e4f1c9a24f21e6 100644 (file)
@@ -18,6 +18,7 @@
  */
 
 #include <unistd.h>
+#include <string.h>
 #include <sensor_internal.h>
 
 #include "log.h"
 #include "test_bench.h"
 #include "sensor_adapter.h"
 
+/* exception list */
+#define SAMSUNG_PEDOMETER "http://samsung.com/sensor/healthinfo/pedometer/samsung_pedometer"
+
 static void basic_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data)
 {
        EXPECT_GT(data->timestamp, 0);
-       //_N("[   DATA   ] %f\n", data->values[0]);
+       _N(_WHT "[   DATA   ] %f\n" _RST, data->values[0]);
        mainloop::stop();
 }
 
-TESTCASE(all_sensor_test, scenario_basic_p)
+static bool skip_sensor(sensor_t sensor)
+{
+       const char *uri = sensord_get_uri(sensor);
+
+       if (strncmp(uri, SAMSUNG_PEDOMETER, sizeof(SAMSUNG_PEDOMETER)) == 0)
+               return true;
+
+       return false;
+}
+
+TESTCASE(sensor_basic, all_sensor_p)
 {
-       int err;
+       int err, count, handle;
        bool ret;
-       int count;
-       int handle;
        sensor_t *sensors;
        sensor_type_t type;
 
@@ -45,10 +57,12 @@ TESTCASE(all_sensor_test, scenario_basic_p)
        ASSERT_EQ(err, 0);
 
        for (int i = 0; i < count; ++i) {
-               sensord_get_type(sensors[i], &type);
-               /* TODO */
-               _N("[   TYPE   ] %s\n", "UNKNOWN_SENSOR");
+               if (skip_sensor(sensors[i]))
+                       continue;
+
+               _W("[ SENSOR %d ] %s\n", i, sensord_get_uri(sensors[i]));
 
+               sensord_get_type(sensors[i], &type);
                sensor_info info(type, 0, 100, 1000, SENSOR_OPTION_ALWAYS_ON, basic_cb, NULL);
 
                ret = sensor_adapter::start(info, handle);
@@ -64,101 +78,3 @@ TESTCASE(all_sensor_test, scenario_basic_p)
 
        return true;
 }
-
-typedef bool (*process_func_t)(const char *msg, int size, int count);
-
-static pid_t run_process(process_func_t func, const char *msg, int size, int count)
-{
-       pid_t pid = fork();
-       if (pid < 0)
-               return -1;
-
-       if (pid == 0) {
-               if (!func(msg, size, count))
-                       _E("Failed to run process\n");
-               exit(0);
-       }
-
-       return pid;
-}
-
-static bool run_echo_command_test(const char *str, int size, int cout)
-{
-       bool ret = true;
-       int handle;
-       char buf[4096] = {'1', '1', '1', };
-
-       sensor_info info(ACCELEROMETER_SENSOR, 0,
-                       100, 1000, SENSOR_OPTION_ALWAYS_ON, basic_cb, NULL);
-       sensor_adapter::get_handle(info, handle);
-
-       for (int i = 0; i < 1024; ++i)
-               ret &= sensor_adapter::set_attribute(handle, SENSOR_ATTR_ACCELEROMETER_INJECTION, buf, 4096);
-       ASSERT_TRUE(ret);
-
-       return true;
-}
-
-TESTCASE(echo_command_test, echo_command_p)
-{
-       pid_t pid;
-
-       for (int i = 0; i < 100; ++i) {
-               pid = run_process(run_echo_command_test, NULL, 0, 0);
-               EXPECT_GE(pid, 0);
-       }
-
-       pid = run_process(run_echo_command_test, NULL, 0, 0);
-       EXPECT_GE(pid, 0);
-
-       ASSERT_TRUE(true);
-
-       return true;
-}
-
-#if 0
-TESTCASE(gyroscope_value_p)
-{
-       scenario_basic_p(GYROSCOPE_SENSOR);
-}
-
-TESTCASE(gravitye_value_p)
-{
-       scenario_basic_p(GRAVITY_SENSOR);
-}
-
-TESTCASE(linear_accel_value_p)
-{
-       scenario_basic_p(LINEAR_ACCEL_SENSOR);
-}
-
-TESTCASE(proximity_value_p)
-{
-       scenario_basic_p(PROXIMITY_SENSOR);
-}
-
-TESTCASE(pressure_value_p)
-{
-       scenario_basic_p(PRESSURE_SENSOR);
-}
-
-TESTCASE(hrm_value_p)
-{
-       scenario_basic_p(HRM_SENSOR);
-}
-
-TESTCASE(hrm_raw_value_p)
-{
-       scenario_basic_p(HRM_RAW_SENSOR);
-}
-
-TESTCASE(hrm_led_green_value_p)
-{
-       scenario_basic_p(HRM_LED_GREEN_SENSOR);
-}
-
-TESTCASE(wrist_up_value_p)
-{
-       scenario_basic_p(GESTURE_WRIST_UP_SENSOR);
-}
-#endif
index 8318fd5152e91216c308fadd22a17eee1b5e0a7b..7a1e254042893800b97ca979e7ccc2552d35df70 100644 (file)
  *
  */
 
+#include <unistd.h>
+#include <sensor_internal.h>
+
+#include "log.h"
+#include "mainloop.h"
 #include "test_bench.h"
+#include "sensor_adapter.h"
 
-TESTCASE(sensor_interval, all_sensor_interval_10ms_p)
+static void basic_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data)
 {
-       /* TODO: test 10ms interval */
+       EXPECT_GT(data->timestamp, 0);
+       mainloop::stop();
+}
+
+TESTCASE(interval_test, 20ms_p)
+{
+       int err, count, handle;
+       bool ret;
+       sensor_t *sensors;
+       sensor_type_t type;
+
+       err = sensord_get_sensors(ACCELEROMETER_SENSOR, &sensors, &count);
+       ASSERT_EQ(err, 0);
+
+       for (int i = 0; i < count; ++i) {
+               sensord_get_type(sensors[i], &type);
+               sensor_info info(type, 0, 20, 1000, SENSOR_OPTION_ALWAYS_ON, basic_cb, NULL);
+
+               ret = sensor_adapter::start(info, handle);
+               EXPECT_TRUE(ret);
+
+               mainloop::run();
+
+               ret = sensor_adapter::stop(info, handle);
+               EXPECT_TRUE(ret);
+       }
+
+       free(sensors);
+
+       return true;
+}
+
+TESTCASE(interval_test, 100ms_p)
+{
+       int err, count, handle;
+       bool ret;
+       sensor_t *sensors;
+       sensor_type_t type;
+
+       err = sensord_get_sensors(ACCELEROMETER_SENSOR, &sensors, &count);
+       ASSERT_EQ(err, 0);
+
+       for (int i = 0; i < count; ++i) {
+               sensord_get_type(sensors[i], &type);
+               sensor_info info(type, 0, 100, 1000, SENSOR_OPTION_ALWAYS_ON, basic_cb, NULL);
+
+               ret = sensor_adapter::start(info, handle);
+               EXPECT_TRUE(ret);
+
+               mainloop::run();
+
+               ret = sensor_adapter::stop(info, handle);
+               EXPECT_TRUE(ret);
+       }
+
+       free(sensors);
+
+       return true;
+}
+
+TESTCASE(interval_test, 200ms_p)
+{
+       int err, count, handle;
+       bool ret;
+       sensor_t *sensors;
+       sensor_type_t type;
+
+       err = sensord_get_sensors(ACCELEROMETER_SENSOR, &sensors, &count);
+       ASSERT_EQ(err, 0);
+
+       for (int i = 0; i < count; ++i) {
+               sensord_get_type(sensors[i], &type);
+               sensor_info info(type, 0, 200, 1000, SENSOR_OPTION_ALWAYS_ON, basic_cb, NULL);
+
+               ret = sensor_adapter::start(info, handle);
+               EXPECT_TRUE(ret);
+
+               mainloop::run();
+
+               ret = sensor_adapter::stop(info, handle);
+               EXPECT_TRUE(ret);
+       }
+
+       free(sensors);
+
        return true;
 }
diff --git a/src/sensorctl/testcase/sensor_listener.cpp b/src/sensorctl/testcase/sensor_listener.cpp
new file mode 100644 (file)
index 0000000..f92d33a
--- /dev/null
@@ -0,0 +1,225 @@
+/*
+ * sensorctl
+ *
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <unistd.h>
+#include <string.h>
+#include <sensor_internal.h>
+#include <sensor_utils.h>
+
+#include <client/sensor_manager.h>
+#include <client/sensor_listener.h>
+
+#include "log.h"
+#include "mainloop.h"
+#include "test_bench.h"
+
+static bool called = false;
+static int count = 0;
+
+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]);
+
+       if (count++ > 3)
+               mainloop::stop();
+}
+
+TESTCASE(sensor_listener, get_default_sensor_p_1)
+{
+       int err;
+       sensor_t sensor;
+
+       err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+       ASSERT_EQ(err, 0);
+
+       return true;
+}
+
+TESTCASE(sensor_listener, get_sensors_p_1)
+{
+       int err;
+       int count;
+       sensor_t *sensors;
+
+       err = sensord_get_sensors(ACCELEROMETER_SENSOR, &sensors, &count);
+       ASSERT_EQ(err, 0);
+       ASSERT_GT(count, 0);
+
+       free(sensors);
+
+       return true;
+}
+
+TESTCASE(sensor_listener, connect_p_1)
+{
+       int err;
+       int handle;
+       sensor_t sensor;
+
+       err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+       ASSERT_EQ(err, 0);
+
+       handle = sensord_connect(sensor);
+       ASSERT_GT(handle, 0);
+
+       err = sensord_disconnect(handle);
+       ASSERT_EQ(err, 1);
+
+       return true;
+}
+
+TESTCASE(sensor_listener, all_api_p_1)
+{
+       int err;
+       bool ret;
+       int handle;
+       sensor_t sensor;
+       sensor_t *list;
+       int count;
+
+       called = false;
+
+       err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+       ASSERT_EQ(err, 0);
+
+       err = sensord_get_sensors(ALL_SENSOR, &list, &count);
+       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);
+
+       ret = sensord_change_event_max_batch_latency(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);
+
+       free(list);
+
+       return true;
+}
+
+TESTCASE(sensor_listener, bad_unregister_stop_order_p_1)
+{
+       int err;
+       bool ret;
+       int handle;
+       sensor_t sensor;
+
+       called = false;
+
+       err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+       ASSERT_EQ(err, 0);
+
+       handle = sensord_connect(sensor);
+       ret = sensord_register_event(handle, 1, 100, 100, event_cb, NULL);
+       ret = sensord_start(handle, 0);
+       ret = sensord_change_event_interval(handle, 0, 100);
+
+       mainloop::run();
+
+       /* [TEST] Unregister event before stop */
+       ret = sensord_unregister_event(handle, 1);
+       ASSERT_TRUE(ret);
+
+       ret = sensord_stop(handle);
+       ASSERT_TRUE(ret);
+
+       ret = sensord_disconnect(handle);
+       ASSERT_TRUE(ret);
+
+       return true;
+}
+
+TESTCASE(sensor_listener, bad_disconnect_p_1)
+{
+       int err;
+       bool ret;
+       int handle;
+       sensor_t sensor;
+
+       called = false;
+
+       err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+       ASSERT_EQ(err, 0);
+
+       handle = sensord_connect(sensor);
+       ret = sensord_register_event(handle, 1, 100, 100, event_cb, NULL);
+       ret = sensord_start(handle, 0);
+       ret = sensord_change_event_interval(handle, 0, 100);
+
+       mainloop::run();
+
+       /* [TEST] Unregistering event is not called */
+
+       ret = sensord_stop(handle);
+       ASSERT_TRUE(ret);
+
+       ret = sensord_disconnect(handle);
+       ASSERT_TRUE(ret);
+
+       return true;
+}
+
+TESTCASE(sensor_listener, bad_disconnect_p_2)
+{
+       int err;
+       bool ret;
+       int handle;
+       sensor_t sensor;
+
+       called = false;
+
+       err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+       ASSERT_EQ(err, 0);
+
+       handle = sensord_connect(sensor);
+       ret = sensord_register_event(handle, 1, 100, 100, event_cb, NULL);
+       ret = sensord_start(handle, 0);
+       ret = sensord_change_event_interval(handle, 0, 100);
+
+       mainloop::run();
+
+       ret = sensord_unregister_event(handle, 1);
+       ASSERT_TRUE(ret);
+
+       /* [TEST] stopping sensor is not called */
+
+       ret = sensord_disconnect(handle);
+       ASSERT_TRUE(ret);
+
+       return true;
+}
diff --git a/src/sensorctl/testcase/sensor_provider.cpp b/src/sensorctl/testcase/sensor_provider.cpp
new file mode 100644 (file)
index 0000000..9c76c21
--- /dev/null
@@ -0,0 +1,239 @@
+/*
+ * sensorctl
+ *
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#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)
+{
+       _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_provider, check_uri)
+{
+       int err;
+       sensord_provider_h provider;
+
+       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);
+       err = sensord_create_provider(uri_p2, &provider);
+       EXPECT_EQ(err, 0);
+       err = sensord_create_provider(uri_n1, &provider);
+       EXPECT_EQ(err, -EINVAL);
+       err = sensord_create_provider(uri_n2, &provider);
+       EXPECT_EQ(err, -EINVAL);
+       err = sensord_create_provider(uri_n3, &provider);
+       EXPECT_EQ(err, -EINVAL);
+       err = sensord_create_provider(uri_n4, &provider);
+       EXPECT_EQ(err, -EINVAL);
+       err = sensord_create_provider(uri_n5, &provider);
+       EXPECT_EQ(err, -EINVAL);
+
+       return true;
+}
+
+/* TODO: change it from manual test to auto-test */
+TESTCASE(skip_sensor_provider, mysensor_added_removed_cb_p_1)
+{
+       int 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;
+}
+
+/* TODO: change it from manual test to auto-test */
+TESTCASE(skip_sensor_provider, mysensor_p)
+{
+       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_interval_changed_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;
+}
+
+/* TODO: change it from manual test to auto-test */
+TESTCASE(skip_sensor_provider, mysensor_with_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;
+}
+
diff --git a/src/sensorctl/testcase/unit_client.cpp b/src/sensorctl/testcase/unit_client.cpp
deleted file mode 100644 (file)
index 16c5f1d..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * sensorctl
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include <unistd.h>
-#include <string.h>
-#include <sensor_internal.h>
-#include <sensor_utils.h>
-
-#include <client/sensor_manager.h>
-#include <client/sensor_listener.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;
-       sensor_t sensor;
-
-       err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
-       ASSERT_EQ(err, 0);
-
-       return true;
-}
-
-TESTCASE(sensor_api_get_sensors, get_sensor_p_2)
-{
-       int err;
-       int count;
-       sensor_t *sensors;
-
-       err = sensord_get_sensors(ACCELEROMETER_SENSOR, &sensors, &count);
-       ASSERT_EQ(err, 0);
-       ASSERT_GT(count, 0);
-
-       free(sensors);
-
-       return true;
-}
-
-TESTCASE(sensor_api_connect, connect_p_1)
-{
-       int err;
-       int handle;
-       sensor_t sensor;
-
-       err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
-       ASSERT_EQ(err, 0);
-
-       handle = sensord_connect(sensor);
-       ASSERT_GT(handle, 0);
-
-       err = sensord_disconnect(handle);
-       ASSERT_EQ(err, 1);
-
-       return true;
-}
-
-TESTCASE(sensor_api_all, all_p_1)
-{
-       int err;
-       bool ret;
-       int handle;
-       sensor_t sensor;
-       sensor_t *list;
-       int count;
-
-       called = false;
-
-       err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
-       ASSERT_EQ(err, 0);
-
-       err = sensord_get_sensors(ALL_SENSOR, &list, &count);
-       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);
-
-       ret = sensord_change_event_max_batch_latency(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);
-
-       free(list);
-
-       return true;
-}
index d820707f52bc2ed10d8ea90359b2c6d24aa57345..799924ac269bb46c80a421b1022a1f76bee61eae 100644 (file)
@@ -102,7 +102,7 @@ public:
 };
 
 /* IPC Client Sleep Test(4096Kb * 1024) */
-static bool run_ipc_client_sleep_10s(const char *str, int size, int count)
+static bool run_ipc_client_sleep_1s(const char *str, int size, int count)
 {
        ipc_client client(TEST_PATH);
        test_client_handler_30_1M client_handler;
@@ -355,9 +355,9 @@ static bool run_ipc_client(const char *str, int size, int count)
 }
 
 /**
- * @brief   Test 3 client + 1 client which sleeps 10 seconds
+ * @brief   Test 3 client + 1 client which sleeps 1 seconds
  */
-TESTCASE(sensor_ipc_client_sleep_1s, sleep_1s_p)
+TESTCASE(sensor_ipc, 3_client_with_1s_sleep_client_p)
 {
        pid_t pid = run_process(run_ipc_server_echo, NULL, 0, 0);
        EXPECT_GE(pid, 0);
@@ -369,7 +369,7 @@ TESTCASE(sensor_ipc_client_sleep_1s, sleep_1s_p)
                EXPECT_GE(pid, 0);
        }
 
-       bool ret = run_ipc_client_sleep_10s(NULL, 0, 0);
+       bool ret = run_ipc_client_sleep_1s(NULL, 0, 0);
        ASSERT_TRUE(ret);
 
        SLEEP_1S;
@@ -378,9 +378,9 @@ TESTCASE(sensor_ipc_client_sleep_1s, sleep_1s_p)
 }
 
 /**
- * @brief   Test 3 client + 1 client which has small recv buffer
+ * @brief   Test 3 client + 1 client which has small recv buffer(2240)
  */
-TESTCASE(sensor_ipc_client_small_2240, ipc_client_small_2240_p)
+TESTCASE(sensor_ipc, 3_client_with_small_buffer_client_p)
 {
        pid_t pid = run_process(run_ipc_server_echo, NULL, 0, 0);
        EXPECT_GE(pid, 0);
@@ -403,7 +403,7 @@ TESTCASE(sensor_ipc_client_small_2240, ipc_client_small_2240_p)
 /**
  * @brief   Test 30 ipc_client with 1M message
  */
-TESTCASE(sensor_ipc_30_client_1M, ipc_client_p_30_1M)
+TESTCASE(sensor_ipc, 30_client_with_1M_message_p)
 {
        pid_t pid = run_process(run_ipc_server_echo, NULL, 0, 0);
        EXPECT_GE(pid, 0);
@@ -426,7 +426,7 @@ TESTCASE(sensor_ipc_30_client_1M, ipc_client_p_30_1M)
 /**
  * @brief   Test 2 channel of 1 client with message
  */
-TESTCASE(sensor_ipc_client_2_channel_message, 2_channel_message_p)
+TESTCASE(sensor_ipc, 1_client_with_2_channel_message_p)
 {
        pid_t pid = run_process(run_ipc_server, NULL, 0, 0);
        EXPECT_GE(pid, 0);
@@ -444,7 +444,7 @@ TESTCASE(sensor_ipc_client_2_channel_message, 2_channel_message_p)
 /**
  * @brief   Test 2 channel of 1 client
  */
-TESTCASE(sensor_ipc_client_2_channel, 2_channel_p)
+TESTCASE(sensor_ipc, 1_client_2_channel_simple_p)
 {
        pid_t pid = run_process(run_ipc_server, NULL, 0, 0);
        EXPECT_GE(pid, 0);
@@ -462,7 +462,7 @@ TESTCASE(sensor_ipc_client_2_channel, 2_channel_p)
 /**
  * @brief   Test 100 ipc_client
  */
-TESTCASE(sensor_ipc_100_client, ipc_client_p_100)
+TESTCASE(sensor_ipc, 100_client_p)
 {
        pid_t pid = run_process(run_ipc_server, NULL, 0, 0);
        EXPECT_GE(pid, 0);
@@ -485,7 +485,7 @@ TESTCASE(sensor_ipc_100_client, ipc_client_p_100)
 /**
  * @brief   Test 2 ipc_client
  */
-TESTCASE(sensor_ipc_2_client, ipc_client_p_2)
+TESTCASE(sensor_ipc, 2_client_p)
 {
        pid_t pid = run_process(run_ipc_server, NULL, 0, 0);
        EXPECT_GE(pid, 0);
@@ -509,7 +509,7 @@ TESTCASE(sensor_ipc_2_client, ipc_client_p_2)
  *          2. send "TEST" message from client to server
  *          3. check that message in server handler
  */
-TESTCASE(sensor_ipc_client_0, ipc_client_p_0)
+TESTCASE(sensor_ipc, server_client_basic_p)
 {
        pid_t pid = run_process(run_ipc_server, NULL, 0, 0);
        EXPECT_GE(pid, 0);
diff --git a/src/sensorctl/testcase/unit_provider.cpp b/src/sensorctl/testcase/unit_provider.cpp
deleted file mode 100644 (file)
index 0c61862..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
- * sensorctl
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#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/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);
-       err = sensord_create_provider(uri_p2, &provider);
-       EXPECT_EQ(err, 0);
-       err = sensord_create_provider(uri_n1, &provider);
-       EXPECT_EQ(err, -EINVAL);
-       err = sensord_create_provider(uri_n2, &provider);
-       EXPECT_EQ(err, -EINVAL);
-       err = sensord_create_provider(uri_n3, &provider);
-       EXPECT_EQ(err, -EINVAL);
-       err = sensord_create_provider(uri_n4, &provider);
-       EXPECT_EQ(err, -EINVAL);
-       err = sensord_create_provider(uri_n5, &provider);
-       EXPECT_EQ(err, -EINVAL);
-
-       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_interval_changed_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;
-}
index 261976f03a756caec70196f307083cf2d9a3378f..1407cfc4bc4e916c6c77d7c46be24a7948a69430 100644 (file)
 #include "log.h"
 #include "test_bench.h"
 
-using namespace ipc;
-
 #define MAX_BUF_SIZE 4096
 #define TEST_PATH "/run/.sensord_test.socket"
 
+using namespace ipc;
+
 typedef bool (*process_func_t)(const char *msg, int size, int count);
 
 static pid_t run_process(process_func_t func, const char *msg, int size, int count)
@@ -67,7 +67,9 @@ static bool run_socket_echo_server(const char *msg, int size, int count)
        accept_sock.set_blocking_mode(true);
        accept_sock.bind();
        accept_sock.listen(10);
-       accept_sock.accept(client_sock);
+
+       while (!ret)
+               ret = accept_sock.accept(client_sock);
 
        /* receive message */
        while (recv_count++ < count) {
@@ -129,7 +131,6 @@ static bool run_socket_client(const char *msg, int size, int count)
        ASSERT_EQ(ret, 0);
 
        sock.close();
-
        return true;
 }
 
@@ -140,7 +141,7 @@ static bool run_socket_client(const char *msg, int size, int count)
  *          3. check "TEST" message
  * @remarks we can test only regular socket, not systemd-based socket.
  */
-TESTCASE(sensor_ipc_socket, socket_p_0)
+TESTCASE(ipc_socket, socket_simple_message_p)
 {
        const char *msg = "TEST";
        int size = 4;
@@ -162,7 +163,7 @@ TESTCASE(sensor_ipc_socket, socket_p_0)
  *          3. check total size
  * @remarks we can test only regular socket, not systemd-based socket.
  */
-TESTCASE(sensor_ipc_socket, socket_p_10)
+TESTCASE(ipc_socket, socket_40K_message_p)
 {
        const char msg[MAX_BUF_SIZE] = {1, };
        int size = MAX_BUF_SIZE;
@@ -184,7 +185,7 @@ TESTCASE(sensor_ipc_socket, socket_p_10)
  *          3. check total size
  * @remarks we can test only regular socket, not systemd-based socket.
  */
-TESTCASE(sensor_ipc_socket, socket_p_1000)
+TESTCASE(ipc_socket, socket_4M_message_p)
 {
        const char msg[MAX_BUF_SIZE] = {1, };
        int size = MAX_BUF_SIZE;