From: Priya Kohli Date: Wed, 26 Feb 2020 06:23:16 +0000 (+0530) Subject: [ITC][sensor][ACR-1498][Added Read data list and flush API] X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cc4312c15aea75790e43c6660da8f75c01b4827b;p=test%2Ftct%2Fnative%2Fapi.git [ITC][sensor][ACR-1498][Added Read data list and flush API] Change-Id: I48e8c3beefa68ce7dc973be10d199ca24f03003d Signed-off-by: Priya Kohli (cherry picked from commit 5c0cef1f8d00d04affaeb21a56c705df54e4139f) --- diff --git a/src/itc/sensor/ITs-sensor.c b/src/itc/sensor/ITs-sensor.c index 61200d1ec..f4d04417b 100755 --- a/src/itc/sensor/ITs-sensor.c +++ b/src/itc/sensor/ITs-sensor.c @@ -1190,28 +1190,29 @@ int ITc_sensor_listener_start_stop_p(void) return 0; } -//& purpose: To get sensor data +//& purpose: To read the current sensor data list via a given sensor listener. //& type: auto /** -* @testcase ITc_sensor_listener_read_data_p +* @testcase ITc_sensor_listener_read_data_list_p * @type auto -* @author SRID(gupta.sanjay) -* @reviewer SRID(ravi.kumar2) -* @since_tizen 2.3 -* @description To get sensor data -* @scenario Get the listener handle\n -* Get event information -* @apicovered sensor_listener_read_data -* @passcase When sensor_listener_read_data is successful -* @failcase If target API sensor_listener_read_data fails or any precondition API fails -* @precondition Sensor handle must be created +* @author SRID(priya.kohli) +* @reviewer SRID(shobhit.v) +* @since_tizen 6.0 +* @description Reads the current sensor data list via a given sensor listener. +* @scenario This function synchronously reads the sensor reading of the corresponding sensor, if available. +* Otherwise, if the sensor is not ready to report its values, this function fails and returns +* @apicovered sensor_listener_read_data_list +* @passcase When sensor_listener_read_data_list is successful +* @failcase If target API sensor_listener_read_data_list fails +* @precondition NA * @postcondition NA */ -int ITc_sensor_listener_read_data_p(void) +int ITc_sensor_listener_read_data_list_p(void) { START_TEST; int nSensorTimeoutId = 0; + int nRet = -1; for ( enum_counter=0; enum_counter SENSOR_DATA_ACCURACY_VERYGOOD - || pstSensorEvent.value_count < 0 ) + nRet = sensor_listener_read_data_list(g_pstSensorListener, &pstSensorEvent, &nCount);//check for nCount + PRINT_RESULT_CLEANUP(SENSOR_ERROR_NONE, nRet, "sensor_listener_read_data_list", SensorsGetError(nRet), sensor_listener_stop(g_pstSensorListener);sensor_listener_unset_events_cb(g_pstSensorListener);sensor_listener_set_option(g_pstSensorListener, SENSOR_OPTION_DEFAULT);sensor_destroy_listener(g_pstSensorListener)); + + if ( pstSensorEvent->accuracy < SENSOR_DATA_ACCURACY_UNDEFINED + || pstSensorEvent->accuracy > SENSOR_DATA_ACCURACY_VERYGOOD + || pstSensorEvent->value_count < 0 + || nCount <= 0 ) { - FPRINTF("[Line : %d][%s] sensor_listener_read_data retrieved wrong pstSensorEvent for sensor %s: accuracy = %d, timestamp = %llu, value_count = %d, values = %f\\n", __LINE__, API_NAMESPACE, SensorGetType(stSensor[enum_counter].eSensorType), pstSensorEvent.accuracy, pstSensorEvent.timestamp, pstSensorEvent.value_count, *(pstSensorEvent.values)); + FPRINTF("[Line : %d][%s] sensor_listener_read_data_list retrieved wrong pstSensorEvent for sensor %s: accuracy = %d, timestamp = %llu, value_count = %d, values = %f, nCount = %d\\n", __LINE__, API_NAMESPACE, SensorGetType(stSensor[enum_counter].eSensorType), pstSensorEvent->accuracy, pstSensorEvent->timestamp, pstSensorEvent->value_count, *(pstSensorEvent->values), nCount); sensor_listener_stop(g_pstSensorListener); sensor_listener_unset_events_cb(g_pstSensorListener); sensor_listener_set_option(g_pstSensorListener, SENSOR_OPTION_DEFAULT); @@ -1311,39 +1274,87 @@ int ITc_sensor_listener_read_data_p(void) } nRet = sensor_listener_stop(g_pstSensorListener); - if ( nRet != SENSOR_ERROR_NONE ) - { - FPRINTF("[Line : %d][%s] Support API sensor_listener_stop failed for sensor %s, error returned = %s\\n", __LINE__, API_NAMESPACE, SensorGetType(stSensor[enum_counter].eSensorType), SensorsGetError(nRet)); - sensor_listener_unset_events_cb(g_pstSensorListener); - sensor_listener_set_option(g_pstSensorListener, SENSOR_OPTION_DEFAULT); - sensor_destroy_listener(g_pstSensorListener); - return 1; - } + PRINT_RESULT_CLEANUP(SENSOR_ERROR_NONE, nRet, "sensor_listener_stop", SensorsGetError(nRet), sensor_listener_set_option(g_pstSensorListener, SENSOR_OPTION_DEFAULT);sensor_listener_unset_events_cb(g_pstSensorListener);sensor_destroy_listener(g_pstSensorListener)); nRet = sensor_listener_unset_events_cb(g_pstSensorListener); - if ( nRet != SENSOR_ERROR_NONE ) - { - FPRINTF("[Line : %d][%s] Support API sensor_listener_unset_events_cb failed for sensor %s, error returned = %s\\n", __LINE__, API_NAMESPACE, SensorGetType(stSensor[enum_counter].eSensorType), SensorsGetError(nRet)); - sensor_listener_set_option(g_pstSensorListener, SENSOR_OPTION_DEFAULT); - sensor_destroy_listener(g_pstSensorListener); - return 1; - } +PRINT_RESULT_CLEANUP(SENSOR_ERROR_NONE, nRet, "sensor_listener_unset_events_cb", SensorsGetError(nRet), sensor_listener_set_option(g_pstSensorListener, SENSOR_OPTION_DEFAULT);sensor_destroy_listener(g_pstSensorListener)); //Reset option nRet = sensor_listener_set_option(g_pstSensorListener, SENSOR_OPTION_DEFAULT); - if ( nRet != SENSOR_ERROR_NONE ) - { - FPRINTF("[Line : %d][%s] Support API sensor_listener_set_option is failed for sensor %s, error returned = %s\\n", __LINE__, API_NAMESPACE, SensorGetType(stSensor[enum_counter].eSensorType), SensorsGetError(nRet)); - sensor_destroy_listener(g_pstSensorListener); - return 1; - } + PRINT_RESULT_CLEANUP(SENSOR_ERROR_NONE, nRet, "sensor_listener_set_option", SensorsGetError(nRet), sensor_destroy_listener(g_pstSensorListener)); nRet = sensor_destroy_listener(g_pstSensorListener); - if ( nRet != SENSOR_ERROR_NONE ) - { - FPRINTF("[Line : %d][%s] Support API sensor_destroy_listener failed for sensor %s, error returned = %s\\n", __LINE__, API_NAMESPACE, SensorGetType(stSensor[enum_counter].eSensorType), SensorsGetError(nRet)); - return 1; - } + PRINT_RESULT(SENSOR_ERROR_NONE, nRet, "sensor_destroy_listener", SensorsGetError(nRet)); + } + } + + return 0; +} + +//& purpose: To flush stored data of a sensor. +//& type: auto +/** +* @testcase ITc_sensor_listener_flush_p +* @type auto +* @author SRID(priya.kohli) +* @reviewer SRID(shobhit.v) +* @since_tizen 6.0 +* @description Flushes stored data of a sensor. +* @scenario Flushes all data of a sensor as if the max batch latency has expired. +* Data is delivered in the usual way through the event callback function. +* In case of non-batching sensors, this function does nothing and returns #SENSOR_ERROR_NONE. +* @apicovered sensor_listener_flush +* @passcase When sensor_listener_flush is successful +* @failcase If target API sensor_listener_flush fails +* @precondition NA +* @postcondition NA +*/ +int ITc_sensor_listener_flush_p(void) +{ + START_TEST; + + int nSensorTimeoutId = 0; + int nRet = -1; + + for ( enum_counter=0; enum_counter