4 * Copyright (c) 2017 Samsung Electronics Co., Ltd.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
22 #include <sensor_internal.h>
23 #include <sensor_utils.h>
25 #include <client/sensor_manager.h>
26 #include <client/sensor_listener.h>
30 #include "test_bench.h"
32 static bool called = false;
35 static void event_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data)
37 _I("[%llu] %f %f %f\n", data->timestamp, data->values[0], data->values[1], data->values[2]);
43 TESTCASE(sensor_listener, get_default_sensor_p_1)
48 err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
54 TESTCASE(sensor_listener, get_sensors_p_1)
60 err = sensord_get_sensors(ACCELEROMETER_SENSOR, &sensors, &count);
69 TESTCASE(sensor_listener, connect_p_1)
75 err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
78 handle = sensord_connect(sensor);
81 err = sensord_disconnect(handle);
87 TESTCASE(sensor_listener, all_api_p_1)
98 err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
101 err = sensord_get_sensors(ALL_SENSOR, &list, &count);
104 handle = sensord_connect(sensor);
107 ret = sensord_register_event(handle, 1, 100, 100, event_cb, NULL);
110 ret = sensord_start(handle, 0);
113 ret = sensord_change_event_interval(handle, 0, 100);
116 ret = sensord_change_event_max_batch_latency(handle, 0, 100);
121 ret = sensord_stop(handle);
124 ret = sensord_unregister_event(handle, 1);
127 ret = sensord_disconnect(handle);
135 TESTCASE(sensor_listener, bad_unregister_stop_order_p_1)
144 err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
147 handle = sensord_connect(sensor);
148 ret = sensord_register_event(handle, 1, 100, 100, event_cb, NULL);
149 ret = sensord_start(handle, 0);
150 ret = sensord_change_event_interval(handle, 0, 100);
154 /* [TEST] Unregister event before stop */
155 ret = sensord_unregister_event(handle, 1);
158 ret = sensord_stop(handle);
161 ret = sensord_disconnect(handle);
167 TESTCASE(sensor_listener, bad_disconnect_p_1)
176 err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
179 handle = sensord_connect(sensor);
180 ret = sensord_register_event(handle, 1, 100, 100, event_cb, NULL);
181 ret = sensord_start(handle, 0);
182 ret = sensord_change_event_interval(handle, 0, 100);
186 /* [TEST] Unregistering event is not called */
188 ret = sensord_stop(handle);
191 ret = sensord_disconnect(handle);
197 TESTCASE(sensor_listener, bad_disconnect_p_2)
206 err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
209 handle = sensord_connect(sensor);
210 ret = sensord_register_event(handle, 1, 100, 100, event_cb, NULL);
211 ret = sensord_start(handle, 0);
212 ret = sensord_change_event_interval(handle, 0, 100);
216 ret = sensord_unregister_event(handle, 1);
219 /* [TEST] stopping sensor is not called */
221 ret = sensord_disconnect(handle);
227 #define TEST_STRING "TESTTESTTEST"
228 #define TEST_STRING_LEN 12
230 TESTCASE(sensor_listener, attribute_string_1)
237 err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor);
240 handle = sensord_connect(sensor);
241 err = sensord_set_attribute_str(handle, 1, TEST_STRING, TEST_STRING_LEN);
244 ret = sensord_disconnect(handle);