err = sensord_get_sensors(ACCELEROMETER_SENSOR, &sensors, &count);
ASSERT_EQ(err, 0);
+ ASSERT_FREE((count < 0), sensors);
ASSERT_GT(count, 0);
free(sensors);
ASSERT_EQ(err, 0);
ret = sensord_register_event(handle, 1, 100, 100, event_cb, NULL);
+ ASSERT_FREE(((ret != true) && list), list);
ASSERT_TRUE(ret);
ret = sensord_start(handle, 0);
+ ASSERT_FREE(((ret != true) && list), list);
ASSERT_TRUE(ret);
ret = sensord_change_event_interval(handle, 0, 100);
+ ASSERT_FREE(((ret != true) && list), list);
ASSERT_TRUE(ret);
ret = sensord_change_event_max_batch_latency(handle, 0, 100);
+ ASSERT_FREE(((ret != true) && list), list);
ASSERT_TRUE(ret);
mainloop::run();
ret = sensord_stop(handle);
+ ASSERT_FREE(((ret != true) && list), list);
ASSERT_TRUE(ret);
ret = sensord_unregister_event(handle, 1);
+ ASSERT_FREE(((ret != true) && list), list);
ASSERT_TRUE(ret);
ret = sensord_disconnect(handle);
+ ASSERT_FREE(((ret != true) && list), list);
ASSERT_TRUE(ret);
free(list);
return true;
}
+TESTCASE(sensor_listener, set_get_attribute_int_1)
+{
+ int err = 0;
+ bool ret = true;
+ int handle = 0;
+ sensor_t sensor = NULL;
+ int attr = 1;
+ int value = -1;
+
+ err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+ ASSERT_EQ(err, 0);
+
+ handle = sensord_connect(sensor);
+ err = sensord_set_attribute_int(handle, attr, 1);
+ ASSERT_EQ(err, 0);
+
+ err = sensord_get_attribute_int(handle, attr, &value);
+ ASSERT_EQ(err, 0);
+
+ ASSERT_EQ(value, 1);
+
+ ret = sensord_disconnect(handle);
+ ASSERT_TRUE(ret);
+
+ return true;
+}
+
+TESTCASE(sensor_listener, set_get_attribute_int_2)
+{
+ int err = 0;
+ bool ret = true;
+ int handle = 0;
+ sensor_t sensor = NULL;
+ int attr = 20;
+ int value = -1;
+
+ err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+ ASSERT_EQ(err, 0);
+
+ handle = sensord_connect(sensor);
+ err = sensord_set_attribute_int(handle, attr, 1);
+ ASSERT_EQ(err, 0);
+
+ err = sensord_get_attribute_int(handle, attr, &value);
+ ASSERT_EQ(err, 0);
+
+ ASSERT_EQ(value, 1);
+
+ ret = sensord_disconnect(handle);
+ ASSERT_TRUE(ret);
+
+ return true;
+}
+
+TESTCASE(sensor_listener, set_get_attribute_int_3)
+{
+ int err = 0;
+ bool ret = true;
+ int handle = 0;
+ sensor_t sensor = NULL;
+ int attr = 20;
+ int value = -1;
+
+ err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+ ASSERT_EQ(err, 0);
+
+ handle = sensord_connect(sensor);
+
+ err = sensord_set_attribute_int(handle, attr, 1);
+ ASSERT_EQ(err, 0);
+
+ for (int i = 0 ; i < 10; i ++) {
+ err = sensord_get_attribute_int(handle, attr, &value);
+ ASSERT_EQ(err, 0);
+ }
+
+ ASSERT_EQ(value, 1);
+
+ ret = sensord_disconnect(handle);
+ ASSERT_TRUE(ret);
+
+ return true;
+}
+
+TESTCASE(sensor_listener, get_attribute_int_1)
+{
+ int err = 0;
+ bool ret = true;
+ int handle = 0;
+ sensor_t sensor = NULL;
+ int attr = 100;
+ int value = -1;
+
+ err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+ ASSERT_EQ(err, 0);
+
+ handle = sensord_connect(sensor);
+
+ // attr 100 value is never set in these tests.
+ err = sensord_get_attribute_int(handle, attr, &value);
+ ASSERT_EQ(err, -5);
+
+ ret = sensord_disconnect(handle);
+ ASSERT_TRUE(ret);
+
+ return true;
+}
+
#define TEST_STRING "TESTTESTTEST"
-#define TEST_STRING_LEN 12
+#define TEST_STRING_LEN 13
+
+TESTCASE(sensor_listener, set_attribute_string_1)
+{
+ int err = 0;
+ bool ret = true;
+ int handle = 0;
+ sensor_t sensor = NULL;
+ int attr = 1;
+
+ err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+ ASSERT_EQ(err, 0);
+
+ handle = sensord_connect(sensor);
+ err = sensord_set_attribute_str(handle, attr, TEST_STRING, TEST_STRING_LEN);
+ ASSERT_EQ(err, 0);
+
+ ret = sensord_disconnect(handle);
+ ASSERT_TRUE(ret);
+
+ return true;
+}
+
+TESTCASE(sensor_listener, set_get_attribute_string_1)
+{
+ int err = 0;
+ bool ret = true;
+ int handle = 0;
+ char *value = NULL;
+ int len = 0;
+ sensor_t sensor = NULL;
+ int attr = 1;
+
+ err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+ ASSERT_EQ(err, 0);
+
+ handle = sensord_connect(sensor);
+ err = sensord_set_attribute_str(handle, attr, TEST_STRING, TEST_STRING_LEN);
+ ASSERT_EQ(err, 0);
+
+ err = sensord_get_attribute_str(handle, attr, &value, &len);
+ ASSERT_EQ(err, 0);
+ ASSERT_EQ(len, TEST_STRING_LEN);
+ ASSERT_EQ(strncmp(value, TEST_STRING, len), 0);
+
+ ret = sensord_disconnect(handle);
+ ASSERT_TRUE(ret);
+
+ free(value);
+ return true;
+}
+
+#define BUF_SIZE 4000
+TESTCASE(sensor_listener, set_get_attribute_string_2)
+{
+ int err = 0;
+ bool ret = true;
+ int handle = 0;
+ char *value = NULL;
+ int len = 0;
+ sensor_t sensor = NULL;
+ int attr = 1;
+ char attr_value[BUF_SIZE] = {1, };
+ attr_value[BUF_SIZE - 1] = 1;
+
+ err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+ ASSERT_EQ(err, 0);
+
+ handle = sensord_connect(sensor);
+ err = sensord_set_attribute_str(handle, attr, attr_value, BUF_SIZE);
+ ASSERT_EQ(err, 0);
+
+ err = sensord_get_attribute_str(handle, attr, &value, &len);
+ ASSERT_EQ(err, 0);
+ ASSERT_EQ(len, BUF_SIZE);
+
+ ret = sensord_disconnect(handle);
+ ASSERT_TRUE(ret);
+
+ free(value);
+ return true;
+}
+
+TESTCASE(sensor_listener, set_get_attribute_string_3)
+{
+ int err = 0;
+ bool ret = true;
+ int handle = 0;
+ char *value = NULL;
+ int len = 0;
+ sensor_t sensor = NULL;
+ int attr = 1;
+
+ err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+ ASSERT_EQ(err, 0);
+
+ handle = sensord_connect(sensor);
+ err = sensord_set_attribute_str(handle, attr, TEST_STRING, TEST_STRING_LEN);
+ ASSERT_EQ(err, 0);
+
+ for (int i = 0; i < 10; i++) {
+ err = sensord_get_attribute_str(handle, attr, &value, &len);
+ ASSERT_EQ(err, 0);
+ ASSERT_EQ(len, TEST_STRING_LEN);
+ ASSERT_EQ(strncmp(value, TEST_STRING, len), 0);
+ }
+
+ ret = sensord_disconnect(handle);
+ ASSERT_TRUE(ret);
-TESTCASE(sensor_listener, attribute_string_1)
+ free(value);
+ return true;
+}
+
+TESTCASE(sensor_listener, set_get_get_attribute_string_1)
{
int err;
bool ret;
int handle;
+ char *value = NULL;
+ int len = 0;
sensor_t sensor;
+ int attr = 1;
+
+ err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+ ASSERT_EQ(err, 0);
+
+ handle = sensord_connect(sensor);
+ err = sensord_set_attribute_str(handle, attr, TEST_STRING, TEST_STRING_LEN);
+ ASSERT_EQ(err, 0);
+
+ err = sensord_get_attribute_str(handle, attr, &value, &len);
+ ASSERT_EQ(err, 0);
+ ASSERT_EQ(len, TEST_STRING_LEN);
+ ASSERT_EQ(strncmp(value, TEST_STRING, len), 0);
+
+ ret = sensord_disconnect(handle);
+ ASSERT_TRUE(ret);
+
+ free(value);
+
+ value = NULL;
+ len = 0;
err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
ASSERT_EQ(err, 0);
handle = sensord_connect(sensor);
- err = sensord_set_attribute_str(handle, 1, TEST_STRING, TEST_STRING_LEN);
+
+ err = sensord_get_attribute_str(handle, attr, &value, &len);
+ ASSERT_EQ(err, 0);
+ ASSERT_EQ(len, TEST_STRING_LEN);
+ ASSERT_EQ(strncmp(value, TEST_STRING, len), 0);
+
+ ret = sensord_disconnect(handle);
+ ASSERT_TRUE(ret);
+
+ free(value);
+ return true;
+}
+
+TESTCASE(sensor_listener, get_attribute_string_2)
+{
+ int err;
+ bool ret;
+ int handle;
+ char *value;
+ int len;
+ sensor_t sensor;
+ int attr = 100;
+
+ err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
ASSERT_EQ(err, 0);
+ handle = sensord_connect(sensor);
+
+ // attr 100 value is never set in these tests.
+ err = sensord_get_attribute_str(handle, attr, &value, &len);
+ ASSERT_EQ(err, -EIO);
+
+ ret = sensord_disconnect(handle);
+ ASSERT_TRUE(ret);
+
+ return true;
+}
+
+#define SENSOR_SHIFT_TYPE 16
+TESTCASE(sensor_listener, get_data_list)
+{
+ int err;
+ bool ret;
+ int handle;
+ sensor_t sensor;
+ sensor_type_t type;
+
+ called = false;
+
+ err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
+ ASSERT_EQ(err, 0);
+
+ handle = sensord_connect(sensor);
+
+ sensord_get_type(sensor, &type);
+ ASSERT_EQ(err, 0);
+
+ ret = sensord_start(handle, 0);
+ ASSERT_TRUE(ret);
+
+ sensor_data_t* data_list = NULL;
+ int count = 0;
+ unsigned int data_id = type << SENSOR_SHIFT_TYPE | 0x1;
+
+ ret = sensord_get_data_list(handle, data_id, &data_list, &count);
+ ASSERT_TRUE(ret);
+ ASSERT_EQ(count, 1);
+
+ for (int i = 0 ; i < count; i++) {
+ _I("[%llu]", data_list[i].timestamp);
+ for (int j = 0; j < data_list[i].value_count; j++)
+ _I(" %f", data_list[i].values[j]);
+ _I("\n");
+ }
+ free(data_list);
+
+ ret = sensord_stop(handle);
+ ASSERT_TRUE(ret);
+
+ ret = sensord_unregister_events(handle, 1);
+ ASSERT_TRUE(ret);
+
ret = sensord_disconnect(handle);
ASSERT_TRUE(ret);
ret = sensord_stop(handle);
ASSERT_TRUE(ret);
- ret = sensord_unregister_attribute_int_changed_cb(handle);
+ ret = sensord_unregister_attribute_str_changed_cb(handle);
ASSERT_TRUE(ret);
ret = sensord_disconnect(handle);
static gboolean change_attribute_str(gpointer gdata)
{
int *handle = reinterpret_cast<int *>(gdata);
- int len = strlen(attribute_value_str);
+ int len = strlen(attribute_value_str) + 1;
sensord_set_attribute_str(*handle, attribute, attribute_value_str, len);
_N("[ SET ATTRIBUTE STR ] attribute %d, value : %s, len : %d\n", attribute, attribute_value_str, len);
ASSERT_TRUE(ret);
return true;
-}
\ No newline at end of file
+}
+
+TESTCASE(skip_sensor_listener, light_sensor_set_attribute_int_1)
+{
+ int err = 0;
+ bool ret = true;
+ int handle = 0;
+ sensor_t sensor = NULL;
+ int attr = 2;
+ int value = 0;
+
+ err = sensord_get_default_sensor(LIGHT_SENSOR, &sensor);
+ ASSERT_EQ(err, 0);
+
+ handle = sensord_connect(sensor);
+ err = sensord_set_attribute_int(handle, attr, 2);
+ ASSERT_EQ(err, 0);
+
+ err = sensord_get_attribute_int(handle, attr, &value);
+ ASSERT_EQ(err, 0);
+ ASSERT_EQ(value, 2);
+
+ ret = sensord_disconnect(handle);
+ ASSERT_TRUE(ret);
+
+ return true;
+}
+
+TESTCASE(skip_sensor_listener, light_sensor_get_attribute_int_1)
+{
+ int err = 0;
+ bool ret = true;
+ int handle = 0;
+ sensor_t sensor = NULL;
+ int attr = 2;
+ int value = 0;
+
+ err = sensord_get_default_sensor(LIGHT_SENSOR, &sensor);
+ ASSERT_EQ(err, 0);
+
+ handle = sensord_connect(sensor);
+ err = sensord_get_attribute_int(handle, attr, &value);
+ ASSERT_EQ(err, 0);
+ ASSERT_EQ(value, 2);
+
+ ret = sensord_disconnect(handle);
+ ASSERT_TRUE(ret);
+
+ return true;
+}