CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(sensor-hal-tw2 CXX)
INCLUDE(GNUInstallDirs)
-
+SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+SET(BINDIR "${PREFIX}/bin")
SET(DEPENDENTS "dlog")
SET(ACCEL "ON")
MESSAGE("FLAGS: ${CMAKE_EXE_LINKER_FLAGS}")
# Internal Debugging Options
-#ADD_DEFINITIONS(-Wall -g -D_DEBUG)
+ADD_DEFINITIONS(-Wall -g -D_DEBUG)
INCLUDE(FindPkgConfig)
PKG_CHECK_MODULES(HAL_PKGS REQUIRED ${DEPENDENTS})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${HAL_PKGS_LDFLAGS})
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/sensor)
+
+ADD_SUBDIRECTORY(testcase)
\ No newline at end of file
BuildRequires: cmake
BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(gio-2.0)
+BuildRequires: pkgconfig(gmock)
BuildRequires: sensor-hal-devel
+
%description
TW2 Sensor HAL
+%package haltests
+Summary: Device HAL(Hardware Abstraction Layer) Test Cases
+Requires: %{name} = %{version}-%{release}
+
+
+%description haltests
+Sensor Device HAL(Hardware Abstraction Layer) Test Cases
+
%prep
%setup -q
%{_libdir}/udev/rules.d/99-sensorhub.rules
%{_libdir}/sensor/*.so
%license LICENSE.APLv2
+
+%files haltests
+%manifest packaging/%{name}.manifest
+%{_bindir}/*haltest
\ No newline at end of file
#define MIN_RANGE(RES) (-((1 << (RES))/2))
#define MAX_RANGE(RES) (((1 << (RES))/2)-1)
+#define MAX_ID 0x3
+
static sensor_info_t sensor_info = {
id: 0x1,
name: SENSOR_NAME,
int accel_device::get_sensors(const sensor_info_t **sensors)
{
+ retvm_if(sensors == NULL || sensors == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL interface", SENSOR_NAME);
*sensors = &sensor_info;
return 1;
bool accel_device::enable(uint32_t id)
{
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
+
util::set_enable_node(m_enable_node, m_sensorhub_controlled, true, SENSORHUB_ACCELEROMETER_ENABLE_BIT);
set_interval(id, m_polling_interval);
bool accel_device::disable(uint32_t id)
{
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
+
util::set_enable_node(m_enable_node, m_sensorhub_controlled, false, SENSORHUB_ACCELEROMETER_ENABLE_BIT);
_I("Disable accelerometer sensor");
bool accel_device::set_interval(uint32_t id, unsigned long val)
{
unsigned long long polling_interval_ns;
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
polling_interval_ns = ((unsigned long long)(val) * 1000llu * 1000llu);
x = y = z = false;
struct input_event accel_input;
- _D("accel event detection");
+ _D("accel sensor event detection");
while ((syn == false) && (read_input_cnt < INPUT_MAX_BEFORE_SYN)) {
int len = read(m_node_handle, &accel_input, sizeof(accel_input));
m_fired_time = fired_time / 1000; /* ns to us */
- _D("m_x = %d, m_y = %d, m_z = %d, time = %lluus", m_x, m_y, m_z, m_fired_time);
+ //_D("m_x = %d, m_y = %d, m_z = %d, time = %lluus", m_x, m_y, m_z, m_fired_time);
return true;
}
int accel_device::read_fd(uint32_t **ids)
{
+ retvm_if(ids == NULL || ids == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL interface", SENSOR_NAME);
+
if (!update_value_input_event()) {
_D("Failed to update value");
return false;
int accel_device::get_data(uint32_t id, sensor_data_t **data, int *length)
{
sensor_data_t *sensor_data;
+ retvm_if(data == NULL || data == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL data interface", SENSOR_NAME);
+ retvm_if(length == NULL || length == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL length interface", SENSOR_NAME);
+ retvm_if(id == 0 || id > MAX_ID, SENSOR_ERROR_INVALID_PARAMETER, "%s:Invalid ID Received", SENSOR_NAME);
+
sensor_data = (sensor_data_t *)malloc(sizeof(sensor_data_t));
retvm_if(!sensor_data, -ENOMEM, "Memory allocation failed");
#define MIN_RANGE(RES) (-((1 << (RES))/2))
#define MAX_RANGE(RES) (((1 << (RES))/2)-1)
+#define MAX_ID 0x3
+
+
static sensor_info_t sensor_info = {
id: 0x1,
name: SENSOR_NAME,
int gyro_device::get_sensors(const sensor_info_t **sensors)
{
+ retvm_if(sensors == NULL || sensors == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL interface", SENSOR_NAME);
*sensors = &sensor_info;
return 1;
bool gyro_device::enable(uint32_t id)
{
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
+
util::set_enable_node(m_enable_node, m_sensorhub_controlled, true, SENSORHUB_GYROSCOPE_ENABLE_BIT);
set_interval(id, m_polling_interval);
bool gyro_device::disable(uint32_t id)
{
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
+
util::set_enable_node(m_enable_node, m_sensorhub_controlled, false, SENSORHUB_GYROSCOPE_ENABLE_BIT);
_I("Disable gyroscope sensor");
bool gyro_device::set_interval(uint32_t id, unsigned long val)
{
unsigned long long polling_interval_ns;
-
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
polling_interval_ns = ((unsigned long long)(val) * 1000llu * 1000llu);
if (!util::set_node_value(m_interval_node, polling_interval_ns)) {
int gyro_device::read_fd(uint32_t **ids)
{
+ retvm_if(ids == NULL || ids == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL interface", SENSOR_NAME);
+
if (!update_value_input_event()) {
_D("Failed to update value");
return false;
int gyro_device::get_data(uint32_t id, sensor_data_t **data, int *length)
{
sensor_data_t *sensor_data;
+ retvm_if(data == NULL || data == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL data interface", SENSOR_NAME);
+ retvm_if(length == NULL || length == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL length interface", SENSOR_NAME);
+ retvm_if(id == 0 || id > MAX_ID, SENSOR_ERROR_INVALID_PARAMETER, "%s:Invalid ID Received", SENSOR_NAME);
+
sensor_data = (sensor_data_t *)malloc(sizeof(sensor_data_t));
retvm_if(!sensor_data, -ENOMEM, "Memory allocation failed");
#define INPUT_NAME "hrm_lib_sensor"
#define HRM_SENSORHUB_POLL_NODE_NAME "hrm_lib_poll_delay"
+#define MAX_ID 0x3
+
+
static sensor_info_t sensor_info = {
id: 0x1,
name: SENSOR_NAME,
int hrm_device::get_sensors(const sensor_info_t **sensors)
{
+ retvm_if(sensors == NULL || sensors == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL interface", SENSOR_NAME);
+
*sensors = &sensor_info;
return 1;
bool hrm_device::enable(uint32_t id)
{
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
+
util::set_enable_node(m_enable_node, m_sensorhub_controlled, true, SENSORHUB_HRM_LIB_ENABLE_BIT);
if (m_interval_supported)
set_interval(id, m_polling_interval);
bool hrm_device::disable(uint32_t id)
{
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
+
util::set_enable_node(m_enable_node, m_sensorhub_controlled, false, SENSORHUB_HRM_LIB_ENABLE_BIT);
_I("Disable HRM sensor");
bool hrm_device::set_interval(uint32_t id, unsigned long val)
{
unsigned long long polling_interval_ns;
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
if (!m_interval_supported)
return true;
int hrm_device::read_fd(uint32_t **ids)
{
+ retvm_if(ids == NULL || ids == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL interface", SENSOR_NAME);
+
if (!update_value_input_event()) {
_D("Failed to update value");
return false;
int hrm_device::get_data(uint32_t id, sensor_data_t **data, int *length)
{
sensor_data_t *sensor_data;
+ retvm_if(data == NULL || data == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL data interface", SENSOR_NAME);
+ retvm_if(length == NULL || length == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL length interface", SENSOR_NAME);
+ retvm_if(id == 0 || id > MAX_ID, SENSOR_ERROR_INVALID_PARAMETER, "%s:Invalid ID Received", SENSOR_NAME);
+
sensor_data = (sensor_data_t *)malloc(sizeof(sensor_data_t));
retvm_if(!sensor_data, -ENOMEM, "Memory allocation failed");
#define INPUT_MAX_BEFORE_SYN 20
#define INPUT_EVENT_BIAS 1
#define INPUT_VALUE_COUNT 10
+#define MAX_ID 0x3
+
static sensor_info_t sensor_info[] = {
{
int hrm_raw_device::get_sensors(const sensor_info_t **sensors)
{
+ retvm_if(sensors == NULL || sensors == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL interface", SENSOR_NAME);
*sensors = sensor_info;
return 2;
bool hrm_raw_device::enable(uint32_t id)
{
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
+
++m_enable;
if (m_enable > 1)
bool hrm_raw_device::disable(uint32_t id)
{
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
+
--m_enable;
if (m_enable > 0)
{
unsigned long interval = 100;
unsigned long long polling_interval_ns;
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
if (!m_interval_supported)
return true;
return false;
}
m_data.values[index] = (unsigned int)hrm_raw_input.value - INPUT_EVENT_BIAS;
-
+ _I("SRINIEVENT: EV_REL input had come, val:%d, index[%d]", hrm_raw_input.value, index);
} else if (hrm_raw_input.type == EV_SYN) {
syn = true;
m_data.timestamp = util::get_timestamp(&hrm_raw_input.time);
m_data.value_count = INPUT_VALUE_COUNT;
+
+ _I("SRINIEVENT: EV_SYN input had come, val:%d, index[%d]", hrm_raw_input.value, index);
} else {
_E("hrm_raw_input event[type = %d, code = %d] is unknown.", hrm_raw_input.type, hrm_raw_input.code);
return false;
int hrm_raw_device::read_fd(uint32_t **ids)
{
+ retvm_if(ids == NULL || ids == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL interface", SENSOR_NAME);
+
if (!update_value_input_event()) {
_D("Failed to update value");
return false;
{
int remains = 1;
sensor_data_t *sensor_data;
+ retvm_if(data == NULL || data == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL data interface", SENSOR_NAME);
+ retvm_if(length == NULL || length == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL length interface", SENSOR_NAME);
+ retvm_if(id == 0 || id > MAX_ID, SENSOR_ERROR_INVALID_PARAMETER, "%s:Invalid ID Received", SENSOR_NAME);
+
sensor_data = (sensor_data_t *)malloc(sizeof(sensor_data_t));
retvm_if(!sensor_data, -ENOMEM, "Memory allocation failed");
sensor_data->value_count = m_data.value_count;
memcpy(sensor_data->values, m_data.values, m_data.value_count * sizeof(m_data.values[0]));
}
-
+ _I("SRINIHAL: Sensor Data:%.2f, id: %d", sensor_data->values[0], id);
*data = sensor_data;
*length = sizeof(sensor_data_t);
#define LIGHT_SENSORHUB_POLL_NODE_NAME "light_poll_delay"
#define BIAS 1
+#define MAX_ID 0x3
static sensor_info_t sensor_info = {
id: 0x1,
int light_device::get_sensors(const sensor_info_t **sensors)
{
+ retvm_if(sensors == NULL || sensors == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL interface", SENSOR_NAME);
*sensors = &sensor_info;
return 1;
bool light_device::enable(uint32_t id)
{
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
+
util::set_enable_node(m_enable_node, m_sensorhub_controlled, true, SENSORHUB_LIGHT_ENABLE_BIT);
set_interval(id, m_polling_interval);
bool light_device::disable(uint32_t id)
{
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
+
util::set_enable_node(m_enable_node, m_sensorhub_controlled, false, SENSORHUB_LIGHT_ENABLE_BIT);
_I("Disable light sensor");
bool light_device::set_interval(uint32_t id, unsigned long val)
{
unsigned long long polling_interval_ns;
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
polling_interval_ns = ((unsigned long long)(val) * 1000llu * 1000llu);
int light_device::read_fd(uint32_t **ids)
{
+ retvm_if(ids == NULL || ids == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL interface", SENSOR_NAME);
+
if (!update_value_lux()) {
_D("Failed to update value");
return false;
int light_device::get_data(uint32_t id, sensor_data_t **data, int *length)
{
sensor_data_t *sensor_data;
+ retvm_if(data == NULL || data == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL data interface", SENSOR_NAME);
+ retvm_if(length == NULL || length == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL length interface", SENSOR_NAME);
+ retvm_if(id == 0 || id > MAX_ID, SENSOR_ERROR_INVALID_PARAMETER, "%s:Invalid ID Received", SENSOR_NAME);
+
sensor_data = (sensor_data_t *)malloc(sizeof(sensor_data_t));
retvm_if(!sensor_data, -ENOMEM, "Memory allocation failed");
#define INPUT_NAME "pressure_sensor"
#define PRESSURE_SENSORHUB_POLL_NODE_NAME "pressure_poll_delay"
+#define MAX_ID 0x3
+
static sensor_info_t sensor_info = {
id: 0x1,
int pressure_device::get_sensors(const sensor_info_t **sensors)
{
+ retvm_if(sensors == NULL || sensors == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL interface", SENSOR_NAME);
*sensors = &sensor_info;
return 1;
bool pressure_device::enable(uint32_t id)
{
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
+
util::set_enable_node(m_enable_node, m_sensorhub_controlled, true, SENSORHUB_PRESSURE_ENABLE_BIT);
set_interval(id, m_polling_interval);
bool pressure_device::disable(uint32_t id)
{
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
+
util::set_enable_node(m_enable_node, m_sensorhub_controlled, false, SENSORHUB_PRESSURE_ENABLE_BIT);
_I("Disable pressure sensor");
bool pressure_device::set_interval(uint32_t id, unsigned long val)
{
unsigned long long polling_interval_ns;
+ retvm_if(id == 0 || id > MAX_ID, false, "%s:Invalid ID Received", SENSOR_NAME);
polling_interval_ns = ((unsigned long long)(val) * 1000llu * 1000llu);
int pressure_device::read_fd(uint32_t **ids)
{
+ retvm_if(ids == NULL || ids == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL interface", SENSOR_NAME);
+
if (!update_value_input_event()) {
_D("Failed to update value");
return false;
int pressure_device::get_data(uint32_t id, sensor_data_t **data, int *length)
{
sensor_data_t *sensor_data;
+ retvm_if(data == NULL || data == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL data interface", SENSOR_NAME);
+ retvm_if(length == NULL || length == nullptr, SENSOR_ERROR_INVALID_PARAMETER, "%s:NULL length interface", SENSOR_NAME);
+ retvm_if(id == 0 || id > MAX_ID, SENSOR_ERROR_INVALID_PARAMETER, "%s:Invalid ID Received", SENSOR_NAME);
+
sensor_data = (sensor_data_t *)malloc(sizeof(sensor_data_t));
retvm_if(!sensor_data, -ENOMEM, "Memory allocation failed");
#define NS_TO_US(x) ((x) / 1000)
#define UNKNOWN_NAME "UNKNOWN"
+#include <tizen.h>
+
enum sensorhub_enable_bit {
SENSORHUB_ACCELEROMETER_ENABLE_BIT = 0,
SENSORHUB_ENABLE_BIT_MAX,
};
+
+/**
+ * @brief Enumeration for errors.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ */
+typedef enum {
+ SENSOR_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
+ SENSOR_ERROR_IO_ERROR = TIZEN_ERROR_IO_ERROR, /**< I/O error */
+ SENSOR_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
+ SENSOR_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED, /**< Not supported */
+ SENSOR_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< Permission denied */
+ SENSOR_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of memory */
+ SENSOR_ERROR_NO_DATA = TIZEN_ERROR_NO_DATA, /**< No data available
+ @if MOBILE (Since 3.0) @elseif WEARABLE (Since 2.3.2) @endif */
+ SENSOR_ERROR_NOT_NEED_CALIBRATION = TIZEN_ERROR_SENSOR | 0x03, /**< Sensor doesn't need calibration */
+ SENSOR_ERROR_OPERATION_FAILED = TIZEN_ERROR_SENSOR | 0x06, /**< Operation failed */
+ SENSOR_ERROR_NOT_AVAILABLE = TIZEN_ERROR_SENSOR | 0x07, /**< The sensor is supported, but currently not available
+ @if MOBILE (Since 3.0) @elseif WEARABLE (Since 2.3.2) @endif */
+} sensor_error_e;
+
+
#endif /* __SENSOR_COMMON_H__ */
--- /dev/null
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(sensor-haltest C CXX)
+SET(GTEST_TEST "sensor-haltest")
+ADD_DEFINITIONS("-DUSE_DLOG")
+
+SET(REQUIRES_LIST ${REQUIRES_LIST}
+ glib-2.0
+ gio-2.0
+ gmock
+ dlog )
+INCLUDE(FindPkgConfig)
+pkg_check_modules(gtest_pkgs REQUIRED ${REQUIRES_LIST})
+
+FOREACH(flag ${gtest_pkgs_CFLAGS})
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wall -fPIE -fPIC")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}")
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
+
+
+aux_source_directory(. sources)
+FOREACH(src ${sources})
+ GET_FILENAME_COMPONENT (src_name ${src} NAME_WE)
+ MESSAGE("${src_name}")
+ ADD_EXECUTABLE(${src_name} ${SRCS} ${src})
+ TARGET_LINK_LIBRARIES(${src_name} ${gtest_LDFLAGS} ${gtest_pkgs_LDFLAGS} -ldl)
+ INSTALL(TARGETS ${src_name} DESTINATION bin)
+ENDFOREACH()
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright (c) 2018 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 <glib.h>
+#include <string.h>
+#include <gtest/gtest.h>
+#include <unistd.h>
+#include <iostream>
+
+
+#include <accel/accel_device.h>
+#include "sensor_common.h"
+
+using namespace std;
+
+#define SENSOR_NAME "SENSOR_ACCELEROMETER"
+#define SENSOR_TYPE_ACCEL "ACCEL"
+
+#define INPUT_NAME "accelerometer_sensor"
+
+
+int ret;
+bool sensor_supported;
+sensor_device *sensor_handle = NULL;
+
+#define SENSOR_SUPPORT_CHECK \
+ do {\
+ if (!sensor_supported) {\
+ cout << "ACCEL SENSOR NOT SUPPORTED" << endl;\
+ EXPECT_EQ(ret, SENSOR_ERROR_NOT_SUPPORTED);\
+ return;\
+ }\
+ } while (0)
+
+
+
+/*
+ * main class
+ */
+class AccelSensorHalTest : public testing::Test
+{
+
+public:
+ virtual void SetUp()
+ {
+ sensor_supported = false;
+ sensor_handle = new accel_device;
+ if (sensor_handle == NULL) {
+ cout << "accel sensor init failed " << endl;
+ return;
+ }
+ sensor_supported = true;
+ }
+ virtual void TearDown()
+ {
+ if(sensor_handle) {
+ delete sensor_handle;
+ sensor_handle = NULL;
+ }
+ sensor_supported = false;
+ }
+ /*int GetSupportedFormat(int index)
+ {
+ return 0;
+ }*/
+};
+
+
+
+/**
+ * @testcase get_poll_fdP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, get fd of sensor device
+ * @apicovered get_poll_fd
+ * @passcase returns valid node handle value
+ * @failcase returns invalid node handle value
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(AccelSensorHalTest, get_poll_fdP)
+{
+ SENSOR_SUPPORT_CHECK;
+ int node_handle = 0;
+ node_handle = sensor_handle->get_poll_fd();
+ EXPECT_NE(node_handle, 0);
+}
+
+
+
+/**
+ * @testcase get_hal_versionN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_sensors
+ * @passcase get valid sensor info
+ * @failcase get invalid sensor info
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(AccelSensorHalTest, get_sensorsP)
+{
+ SENSOR_SUPPORT_CHECK;
+ const sensor_info_t *sensor_info_tc = nullptr;
+ ret = sensor_handle->get_sensors(&sensor_info_tc);
+ EXPECT_NE(sensor_info_tc, nullptr);
+ EXPECT_EQ(ret, 1);
+}
+
+/**
+ * @testcase get_hal_versionN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_sensors
+ * @passcase when invalid parameter passed, returns invalid parameter error
+ * @failcase when invalid parameter passed, doesn't return invalid paramter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(AccelSensorHalTest, get_sensorsN)
+{
+ SENSOR_SUPPORT_CHECK;
+ ret = sensor_handle->get_sensors(nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+
+}
+
+
+
+/**
+ * @testcase enableP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered enable
+ * @passcase when valid id passed, returns 1
+ * @failcase when valid id passed, doesn't returns 1
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(AccelSensorHalTest, enableP)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = false;
+ uint32_t id = 1;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, true);
+
+
+}
+
+/**
+ * @testcase enableN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered enable
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(AccelSensorHalTest, enableN)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = true;
+ uint32_t id = 0;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, false);
+ res = true;
+ id = 10;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, false);
+
+}
+
+
+
+/**
+ * @testcase disableP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered disable
+ * @passcase when valid id passed, returns true
+ * @failcase when valid id passed, doesn't returns true
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(AccelSensorHalTest, disableP)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = false;
+ uint32_t id = 1;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, true);
+
+}
+
+/**
+ * @testcase disableN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered disabel
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(AccelSensorHalTest, disableN)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = true;
+ uint32_t id = 0;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, false);
+ res = true;
+ id = 10;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, false);
+}
+
+/**
+ * @testcase read_fdP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase get valid id and returns other than zero
+ * @failcase get invalid id and returns other zero
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(AccelSensorHalTest, read_fdP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t *id = nullptr;
+ bool res = false;
+ res = sensor_handle->enable(1);
+ EXPECT_EQ(res, true);
+ ret = sensor_handle->read_fd(&id);
+ EXPECT_NE(id, nullptr);
+ EXPECT_NE(ret, 0);
+}
+
+/**
+ * @testcase get_dataN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(AccelSensorHalTest, read_fdN)
+{
+ SENSOR_SUPPORT_CHECK;
+ ret = sensor_handle->read_fd(nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+
+
+}
+
+/**
+ * @testcase get_dataP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_data
+ * @passcase Gets valid data and length and returns 0
+ * @failcase Doesn't get valid or length or doesn't return 0
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(AccelSensorHalTest, get_dataP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ sensor_data_t *data = NULL;
+ int length = 0;
+ ret = sensor_handle->get_data(id, &data, &length);
+ EXPECT_EQ(ret, 0);
+ EXPECT_NE(data, nullptr);
+ EXPECT_NE(length, 0);
+}
+
+/**
+ * @testcase read_fdN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type.... auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase Returns invalid parameter error
+ * @failcase Doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(AccelSensorHalTest, get_dataN)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ sensor_data_t *data = nullptr;
+ int length = 0;
+ ret = sensor_handle->get_data(id, nullptr, &length);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+ data = nullptr;
+ ret = sensor_handle->get_data(id, &data, nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+ id = 0;
+ data = nullptr;
+ length = 0;
+ ret = sensor_handle->get_data(id, &data, &length);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+}
+
+
+/**
+ * @testcase set_intervalP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered set_interval
+ * @passcase when innterval is set, it returns true
+ * @failcase Returns false
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(AccelSensorHalTest, set_intervalP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ unsigned long val = 10;
+ bool res = false;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, true);
+
+}
+
+/**
+ * @testcase set_intervalN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered set_interval
+ * @passcase Returns Invalid paramter error
+ * @failcase Doesn't returns Invalid paramter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(AccelSensorHalTest, set_intervalN)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 0;
+ unsigned long val = 1;
+ bool res = true;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, false);
+ id = 10;
+ res = true;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, false);
+
+}
+
+
+int main(int argc, char **argv)
+{
+ testing::InitGoogleTest(&argc, argv);
+
+ return RUN_ALL_TESTS();
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2018 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 <glib.h>
+#include <string.h>
+#include <gtest/gtest.h>
+#include <unistd.h>
+#include <iostream>
+
+
+#include "gyro/gyro_device.h"
+#include "sensor_common.h"
+
+using namespace std;
+
+
+#define SENSOR_NAME "SENSOR_GYROSCOPE"
+#define SENSOR_TYPE_GYRO "GYRO"
+
+#define INPUT_NAME "gyro_sensor"
+#define GYRO_SENSORHUB_POLL_NODE_NAME "gyro_poll_delay"
+
+
+int ret;
+bool sensor_supported;
+sensor_device *sensor_handle = NULL;
+
+#define SENSOR_SUPPORT_CHECK \
+ do {\
+ if (!sensor_supported) {\
+ cout << "GYRO SENSOR NOT SUPPORTED" << endl;\
+ EXPECT_EQ(ret, SENSOR_ERROR_NOT_SUPPORTED);\
+ return;\
+ }\
+ } while (0)
+
+
+
+/*
+ * main class
+ */
+class GyroSensorHalTest : public testing::Test
+{
+
+public:
+ virtual void SetUp()
+ {
+ sensor_supported = false;
+ sensor_handle = new gyro_device;
+ if (sensor_handle == NULL) {
+ cout << "accel sensor init failed " << endl;
+ return;
+ }
+ sensor_supported = true;
+ }
+ virtual void TearDown()
+ {
+ if(sensor_handle) {
+ delete sensor_handle;
+ sensor_handle = NULL;
+ }
+ sensor_supported = false;
+ }
+ /*int GetSupportedFormat(int index)
+ {
+ return 0;
+ }*/
+};
+
+
+
+/**
+ * @testcase get_poll_fdP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, get fd of sensor device
+ * @apicovered get_poll_fd
+ * @passcase returns valid node handle value
+ * @failcase returns invalid node handle value
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(GyroSensorHalTest, get_poll_fdP)
+{
+ SENSOR_SUPPORT_CHECK;
+ int node_handle = 0;
+ node_handle = sensor_handle->get_poll_fd();
+ EXPECT_NE(node_handle, 0);
+}
+
+
+
+/**
+ * @testcase get_hal_versionN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_sensors
+ * @passcase get valid sensor info
+ * @failcase get invalid sensor info
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(GyroSensorHalTest, get_sensorsP)
+{
+ SENSOR_SUPPORT_CHECK;
+ const sensor_info_t *sensor_info_tc = nullptr;
+ ret = sensor_handle->get_sensors(&sensor_info_tc);
+ EXPECT_NE(sensor_info_tc, nullptr);
+ EXPECT_EQ(ret, 1);
+}
+
+/**
+ * @testcase get_hal_versionN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_sensors
+ * @passcase when invalid parameter passed, returns invalid parameter error
+ * @failcase when invalid parameter passed, doesn't return invalid paramter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(GyroSensorHalTest, get_sensorsN)
+{
+ SENSOR_SUPPORT_CHECK;
+ ret = sensor_handle->get_sensors(nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+
+}
+
+
+
+/**
+ * @testcase enableP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered enable
+ * @passcase when valid id passed, returns 1
+ * @failcase when valid id passed, doesn't returns 1
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(GyroSensorHalTest, enableP)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = false;
+ uint32_t id = 1;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, true);
+
+
+}
+
+/**
+ * @testcase enableN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered enable
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(GyroSensorHalTest, enableN)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = true;
+ uint32_t id = 0;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, false);
+ res = true;
+ id = 10;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, false);
+
+}
+
+
+
+/**
+ * @testcase disableP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered disable
+ * @passcase when valid id passed, returns true
+ * @failcase when valid id passed, doesn't returns true
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(GyroSensorHalTest, disableP)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = false;
+ uint32_t id = 1;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, true);
+
+}
+
+/**
+ * @testcase disableN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered disabel
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(GyroSensorHalTest, disableN)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = true;
+ uint32_t id = 0;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, false);
+ res = true;
+ id = 10;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, false);
+}
+
+/**
+ * @testcase read_fdP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase get valid id and returns other than zero
+ * @failcase get invalid id and returns other zero
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(GyroSensorHalTest, read_fdP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t *id = nullptr;
+ bool res = false;
+ res = sensor_handle->enable(1);
+ EXPECT_EQ(res, true);
+ ret = sensor_handle->read_fd(&id);
+ EXPECT_NE(id, nullptr);
+ EXPECT_NE(ret, 0);
+}
+
+/**
+ * @testcase get_dataN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(GyroSensorHalTest, read_fdN)
+{
+ SENSOR_SUPPORT_CHECK;
+ ret = sensor_handle->read_fd(nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+
+
+}
+
+/**
+ * @testcase get_dataP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_data
+ * @passcase Gets valid data and length and returns 0
+ * @failcase Doesn't get valid or length or doesn't return 0
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(GyroSensorHalTest, get_dataP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ sensor_data_t *data = NULL;
+ int length = 0;
+ ret = sensor_handle->get_data(id, &data, &length);
+ EXPECT_EQ(ret, 0);
+ EXPECT_NE(data, nullptr);
+ EXPECT_NE(length, 0);
+}
+
+/**
+ * @testcase read_fdN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase Returns invalid parameter error
+ * @failcase Doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(GyroSensorHalTest, get_dataN)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ sensor_data_t *data = nullptr;
+ int length = 0;
+ ret = sensor_handle->get_data(id, nullptr, &length);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+ data = nullptr;
+ ret = sensor_handle->get_data(id, &data, nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+ id = 0;
+ data = nullptr;
+ length = 0;
+ ret = sensor_handle->get_data(id, &data, &length);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+}
+
+
+/**
+ * @testcase set_intervalP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered set_interval
+ * @passcase when innterval is set, it returns true
+ * @failcase Returns false
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(GyroSensorHalTest, set_intervalP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ unsigned long val = 10;
+ bool res = false;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, true);
+
+}
+
+/**
+ * @testcase set_intervalN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered set_interval
+ * @passcase Returns Invalid paramter error
+ * @failcase Doesn't returns Invalid paramter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(GyroSensorHalTest, set_intervalN)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 0;
+ unsigned long val = 1;
+ bool res = true;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, false);
+ id = 10;
+ res = true;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, false);
+
+}
+
+
+int main(int argc, char **argv)
+{
+ testing::InitGoogleTest(&argc, argv);
+
+ return RUN_ALL_TESTS();
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2018 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 <glib.h>
+#include <string.h>
+#include <gtest/gtest.h>
+#include <unistd.h>
+#include <iostream>
+
+
+#include "hrm/hrm_device.h"
+#include "sensor_common.h"
+
+using namespace std;
+
+#define SENSOR_NAME "SENSOR_HRM"
+#define SENSOR_TYPE_HRM "HRM"
+
+#define INPUT_NAME "hrm_lib_sensor"
+#define HRM_SENSORHUB_POLL_NODE_NAME "hrm_lib_poll_delay"
+
+
+int ret;
+bool sensor_supported;
+sensor_device *sensor_handle = NULL;
+
+#define SENSOR_SUPPORT_CHECK \
+ do {\
+ if (!sensor_supported) {\
+ cout << "ACCEL SENSOR NOT SUPPORTED" << endl;\
+ EXPECT_EQ(ret, SENSOR_ERROR_NOT_SUPPORTED);\
+ return;\
+ }\
+ } while (0)
+
+
+
+/*
+ * main class
+ */
+class HRMSensorHalTest : public testing::Test
+{
+
+public:
+ virtual void SetUp()
+ {
+ sensor_supported = false;
+ sensor_handle = new hrm_device;
+ if (sensor_handle == NULL) {
+ cout << "accel sensor init failed " << endl;
+ return;
+ }
+ sensor_supported = true;
+ }
+ virtual void TearDown()
+ {
+ if(sensor_handle) {
+ delete sensor_handle;
+ sensor_handle = NULL;
+ }
+ sensor_supported = false;
+ }
+ /*int GetSupportedFormat(int index)
+ {
+ return 0;
+ }*/
+};
+
+
+
+/**
+ * @testcase get_poll_fdP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, get fd of sensor device
+ * @apicovered get_poll_fd
+ * @passcase returns valid node handle value
+ * @failcase returns invalid node handle value
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMSensorHalTest, get_poll_fdP)
+{
+ SENSOR_SUPPORT_CHECK;
+ int node_handle = 0;
+ node_handle = sensor_handle->get_poll_fd();
+ EXPECT_NE(node_handle, 0);
+}
+
+
+
+/**
+ * @testcase get_hal_versionN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_sensors
+ * @passcase get valid sensor info
+ * @failcase get invalid sensor info
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMSensorHalTest, get_sensorsP)
+{
+ SENSOR_SUPPORT_CHECK;
+ const sensor_info_t *sensor_info_tc = nullptr;
+ ret = sensor_handle->get_sensors(&sensor_info_tc);
+ EXPECT_NE(sensor_info_tc, nullptr);
+ EXPECT_EQ(ret, 1);
+}
+
+/**
+ * @testcase get_hal_versionN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_sensors
+ * @passcase when invalid parameter passed, returns invalid parameter error
+ * @failcase when invalid parameter passed, doesn't return invalid paramter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMSensorHalTest, get_sensorsN)
+{
+ SENSOR_SUPPORT_CHECK;
+ ret = sensor_handle->get_sensors(nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+
+}
+
+
+
+/**
+ * @testcase enableP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered enable
+ * @passcase when valid id passed, returns 1
+ * @failcase when valid id passed, doesn't returns 1
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMSensorHalTest, enableP)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = false;
+ uint32_t id = 1;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, true);
+
+
+}
+
+/**
+ * @testcase enableN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered enable
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMSensorHalTest, enableN)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = true;
+ uint32_t id = 0;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, false);
+ res = true;
+ id = 10;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, false);
+
+}
+
+
+
+/**
+ * @testcase disableP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered disable
+ * @passcase when valid id passed, returns true
+ * @failcase when valid id passed, doesn't returns true
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMSensorHalTest, disableP)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = false;
+ uint32_t id = 1;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, true);
+
+}
+
+/**
+ * @testcase disableN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered disabel
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMSensorHalTest, disableN)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = true;
+ uint32_t id = 0;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, false);
+ res = true;
+ id = 10;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, false);
+}
+
+/**
+ * @testcase read_fdP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase get valid id and returns other than zero
+ * @failcase get invalid id and returns other zero
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMSensorHalTest, read_fdP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t *id = nullptr;
+ bool res = false;
+ res = sensor_handle->enable(1);
+ EXPECT_EQ(res, true);
+ ret = sensor_handle->read_fd(&id);
+ EXPECT_NE(id, nullptr);
+ EXPECT_NE(ret, 0);
+}
+
+/**
+ * @testcase get_dataN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMSensorHalTest, read_fdN)
+{
+ SENSOR_SUPPORT_CHECK;
+ ret = sensor_handle->read_fd(nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+
+
+}
+
+/**
+ * @testcase get_dataP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_data
+ * @passcase Gets valid data and length and returns 0
+ * @failcase Doesn't get valid or length or doesn't return 0
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMSensorHalTest, get_dataP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ sensor_data_t *data = NULL;
+ int length = 0;
+ ret = sensor_handle->get_data(id, &data, &length);
+ EXPECT_EQ(ret, 0);
+ EXPECT_NE(data, nullptr);
+ EXPECT_NE(length, 0);
+}
+
+/**
+ * @testcase read_fdN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase Returns invalid parameter error
+ * @failcase Doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMSensorHalTest, get_dataN)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ sensor_data_t *data = nullptr;
+ int length = 0;
+ ret = sensor_handle->get_data(id, nullptr, &length);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+ data = nullptr;
+ ret = sensor_handle->get_data(id, &data, nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+ id = 0;
+ data = nullptr;
+ length = 0;
+ ret = sensor_handle->get_data(id, &data, &length);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+}
+
+
+/**
+ * @testcase set_intervalP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered set_interval
+ * @passcase when innterval is set, it returns true
+ * @failcase Returns false
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMSensorHalTest, set_intervalP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ unsigned long val = 10;
+ bool res = false;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, true);
+
+}
+
+/**
+ * @testcase set_intervalN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered set_interval
+ * @passcase Returns Invalid paramter error
+ * @failcase Doesn't returns Invalid paramter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMSensorHalTest, set_intervalN)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 0;
+ unsigned long val = 1;
+ bool res = true;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, false);
+ id = 10;
+ res = true;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, false);
+
+}
+
+
+int main(int argc, char **argv)
+{
+ testing::InitGoogleTest(&argc, argv);
+
+ return RUN_ALL_TESTS();
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2018 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 <glib.h>
+#include <string.h>
+#include <gtest/gtest.h>
+#include <unistd.h>
+#include <iostream>
+
+
+#include "hrm_raw/hrm_raw_device.h"
+#include "sensor_common.h"
+
+using namespace std;
+
+#define SENSOR_NAME "SENSOR_HRM_RAW"
+#define SENSOR_TYPE_HRM_RAW "HRM_RAW"
+
+#define INPUT_NAME "hrm_raw_sensor"
+#define HRM_SENSORHUB_POLL_NODE_NAME "hrm_poll_delay"
+
+
+int ret;
+bool sensor_supported;
+sensor_device *sensor_handle = NULL;
+
+#define SENSOR_SUPPORT_CHECK \
+ do {\
+ if (!sensor_supported) {\
+ cout << "ACCEL SENSOR NOT SUPPORTED" << endl;\
+ EXPECT_EQ(ret, SENSOR_ERROR_NOT_SUPPORTED);\
+ return;\
+ }\
+ } while (0)
+
+
+
+/*
+ * main class
+ */
+class HRMRawSensorHalTest : public testing::Test
+{
+
+public:
+ virtual void SetUp()
+ {
+ sensor_supported = false;
+ sensor_handle = new hrm_raw_device;
+ if (sensor_handle == NULL) {
+ cout << "accel sensor init failed " << endl;
+ return;
+ }
+ sensor_supported = true;
+ }
+ virtual void TearDown()
+ {
+ if(sensor_handle) {
+ delete sensor_handle;
+ sensor_handle = NULL;
+ }
+ sensor_supported = false;
+ }
+ /*int GetSupportedFormat(int index)
+ {
+ return 0;
+ }*/
+};
+
+
+
+/**
+ * @testcase get_poll_fdP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, get fd of sensor device
+ * @apicovered get_poll_fd
+ * @passcase returns valid node handle value
+ * @failcase returns invalid node handle value
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMRawSensorHalTest, get_poll_fdP)
+{
+ SENSOR_SUPPORT_CHECK;
+ int node_handle = 0;
+ node_handle = sensor_handle->get_poll_fd();
+ EXPECT_NE(node_handle, 0);
+}
+
+
+
+/**
+ * @testcase get_hal_versionN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_sensors
+ * @passcase get valid sensor info
+ * @failcase get invalid sensor info
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMRawSensorHalTest, get_sensorsP)
+{
+ SENSOR_SUPPORT_CHECK;
+ const sensor_info_t *sensor_info_tc = nullptr;
+ ret = sensor_handle->get_sensors(&sensor_info_tc);
+ EXPECT_NE(sensor_info_tc, nullptr);
+ EXPECT_EQ(ret, 2);
+}
+
+/**
+ * @testcase get_hal_versionN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_sensors
+ * @passcase when invalid parameter passed, returns invalid parameter error
+ * @failcase when invalid parameter passed, doesn't return invalid paramter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMRawSensorHalTest, get_sensorsN)
+{
+ SENSOR_SUPPORT_CHECK;
+ ret = sensor_handle->get_sensors(nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+
+}
+
+
+
+/**
+ * @testcase enableP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered enable
+ * @passcase when valid id passed, returns 1
+ * @failcase when valid id passed, doesn't returns 1
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMRawSensorHalTest, enableP)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = false;
+ uint32_t id = 1;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, true);
+
+
+}
+
+/**
+ * @testcase enableN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered enable
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMRawSensorHalTest, enableN)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = true;
+ uint32_t id = 0;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, false);
+ res = true;
+ id = 10;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, false);
+
+}
+
+
+
+/**
+ * @testcase disableP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered disable
+ * @passcase when valid id passed, returns true
+ * @failcase when valid id passed, doesn't returns true
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMRawSensorHalTest, disableP)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = false;
+ uint32_t id = 1;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, true);
+
+}
+
+/**
+ * @testcase disableN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered disabel
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMRawSensorHalTest, disableN)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = true;
+ uint32_t id = 0;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, false);
+ res = true;
+ id = 10;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, false);
+}
+
+/**
+ * @testcase read_fdP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase get valid id and returns other than zero
+ * @failcase get invalid id and returns other zero
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMRawSensorHalTest, read_fdP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t *id = nullptr;
+ bool res = false;
+ res = sensor_handle->enable(1);
+ EXPECT_EQ(res, true);
+ ret = sensor_handle->read_fd(&id);
+ EXPECT_NE(id, nullptr);
+ EXPECT_NE(ret, 0);
+}
+
+/**
+ * @testcase get_dataN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMRawSensorHalTest, read_fdN)
+{
+ SENSOR_SUPPORT_CHECK;
+ ret = sensor_handle->read_fd(nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+
+
+}
+
+/**
+ * @testcase get_dataP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_data
+ * @passcase Gets valid data and length and returns 0
+ * @failcase Doesn't get valid or length or doesn't return 0
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMRawSensorHalTest, get_dataP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ sensor_data_t *data = NULL;
+ int length = 0;
+ ret = sensor_handle->get_data(id, &data, &length);
+ EXPECT_EQ(ret, 0);
+ EXPECT_NE(data, nullptr);
+ EXPECT_NE(length, 0);
+}
+
+/**
+ * @testcase read_fdN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase Returns invalid parameter error
+ * @failcase Doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMRawSensorHalTest, get_dataN)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ sensor_data_t *data = nullptr;
+ int length = 0;
+ ret = sensor_handle->get_data(id, nullptr, &length);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+ data = nullptr;
+ ret = sensor_handle->get_data(id, &data, nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+ id = 0;
+ data = nullptr;
+ length = 0;
+ ret = sensor_handle->get_data(id, &data, &length);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+}
+
+
+/**
+ * @testcase set_intervalP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered set_interval
+ * @passcase when innterval is set, it returns true
+ * @failcase Returns false
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMRawSensorHalTest, set_intervalP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ unsigned long val = 10;
+ bool res = false;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, true);
+
+}
+
+/**
+ * @testcase set_intervalN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered set_interval
+ * @passcase Returns Invalid paramter error
+ * @failcase Doesn't returns Invalid paramter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(HRMRawSensorHalTest, set_intervalN)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 0;
+ unsigned long val = 1;
+ bool res = true;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, false);
+ id = 10;
+ res = true;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, false);
+
+}
+
+
+int main(int argc, char **argv)
+{
+ testing::InitGoogleTest(&argc, argv);
+
+ return RUN_ALL_TESTS();
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2018 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 <glib.h>
+#include <string.h>
+#include <gtest/gtest.h>
+#include <unistd.h>
+#include <iostream>
+
+
+#include "light/light_device.h"
+#include "sensor_common.h"
+
+using namespace std;
+
+#define SENSOR_NAME "SENSOR_LIGHT"
+#define SENSOR_TYPE_LIGHT "LIGHT"
+
+#define INPUT_NAME "light_sensor"
+#define LIGHT_SENSORHUB_POLL_NODE_NAME "light_poll_delay"
+
+
+int ret;
+bool sensor_supported;
+sensor_device *sensor_handle = NULL;
+
+#define SENSOR_SUPPORT_CHECK \
+ do {\
+ if (!sensor_supported) {\
+ cout << "ACCEL SENSOR NOT SUPPORTED" << endl;\
+ EXPECT_EQ(ret, SENSOR_ERROR_NOT_SUPPORTED);\
+ return;\
+ }\
+ } while (0)
+
+
+
+/*
+ * main class
+ */
+class LightSensorHalTest : public testing::Test
+{
+
+public:
+ virtual void SetUp()
+ {
+ sensor_supported = false;
+ sensor_handle = new light_device;
+ if (sensor_handle == NULL) {
+ cout << "accel sensor init failed " << endl;
+ return;
+ }
+ sensor_supported = true;
+ }
+ virtual void TearDown()
+ {
+ if(sensor_handle) {
+ delete sensor_handle;
+ sensor_handle = NULL;
+ }
+ sensor_supported = false;
+ }
+ /*int GetSupportedFormat(int index)
+ {
+ return 0;
+ }*/
+};
+
+
+
+/**
+ * @testcase get_poll_fdP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, get fd of sensor device
+ * @apicovered get_poll_fd
+ * @passcase returns valid node handle value
+ * @failcase returns invalid node handle value
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(LightSensorHalTest, get_poll_fdP)
+{
+ SENSOR_SUPPORT_CHECK;
+ int node_handle = 0;
+ node_handle = sensor_handle->get_poll_fd();
+ EXPECT_NE(node_handle, 0);
+}
+
+
+
+/**
+ * @testcase get_hal_versionN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_sensors
+ * @passcase get valid sensor info
+ * @failcase get invalid sensor info
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(LightSensorHalTest, get_sensorsP)
+{
+ SENSOR_SUPPORT_CHECK;
+ const sensor_info_t *sensor_info_tc = nullptr;
+ ret = sensor_handle->get_sensors(&sensor_info_tc);
+ EXPECT_NE(sensor_info_tc, nullptr);
+ EXPECT_EQ(ret, 1);
+}
+
+/**
+ * @testcase get_hal_versionN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_sensors
+ * @passcase when invalid parameter passed, returns invalid parameter error
+ * @failcase when invalid parameter passed, doesn't return invalid paramter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(LightSensorHalTest, get_sensorsN)
+{
+ SENSOR_SUPPORT_CHECK;
+ ret = sensor_handle->get_sensors(nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+
+}
+
+
+
+/**
+ * @testcase enableP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered enable
+ * @passcase when valid id passed, returns 1
+ * @failcase when valid id passed, doesn't returns 1
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(LightSensorHalTest, enableP)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = false;
+ uint32_t id = 1;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, true);
+
+
+}
+
+/**
+ * @testcase enableN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered enable
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(LightSensorHalTest, enableN)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = true;
+ uint32_t id = 0;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, false);
+ res = true;
+ id = 10;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, false);
+
+}
+
+
+
+/**
+ * @testcase disableP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered disable
+ * @passcase when valid id passed, returns true
+ * @failcase when valid id passed, doesn't returns true
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(LightSensorHalTest, disableP)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = false;
+ uint32_t id = 1;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, true);
+
+}
+
+/**
+ * @testcase disableN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered disabel
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(LightSensorHalTest, disableN)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = true;
+ uint32_t id = 0;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, false);
+ res = true;
+ id = 10;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, false);
+}
+
+/**
+ * @testcase read_fdP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase get valid id and returns other than zero
+ * @failcase get invalid id and returns other zero
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(LightSensorHalTest, read_fdP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t *id = nullptr;
+ bool res = false;
+ res = sensor_handle->enable(1);
+ EXPECT_EQ(res, true);
+ ret = sensor_handle->read_fd(&id);
+ EXPECT_NE(id, nullptr);
+ EXPECT_NE(ret, 0);
+}
+
+/**
+ * @testcase get_dataN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(LightSensorHalTest, read_fdN)
+{
+ SENSOR_SUPPORT_CHECK;
+ ret = sensor_handle->read_fd(nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+
+
+}
+
+/**
+ * @testcase get_dataP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_data
+ * @passcase Gets valid data and length and returns 0
+ * @failcase Doesn't get valid or length or doesn't return 0
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(LightSensorHalTest, get_dataP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ sensor_data_t *data = NULL;
+ int length = 0;
+ ret = sensor_handle->get_data(id, &data, &length);
+ EXPECT_EQ(ret, 0);
+ EXPECT_NE(data, nullptr);
+ EXPECT_NE(length, 0);
+}
+
+/**
+ * @testcase read_fdN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase Returns invalid parameter error
+ * @failcase Doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(LightSensorHalTest, get_dataN)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ sensor_data_t *data = nullptr;
+ int length = 0;
+ ret = sensor_handle->get_data(id, nullptr, &length);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+ data = nullptr;
+ ret = sensor_handle->get_data(id, &data, nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+ id = 0;
+ data = nullptr;
+ length = 0;
+ ret = sensor_handle->get_data(id, &data, &length);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+}
+
+
+/**
+ * @testcase set_intervalP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered set_interval
+ * @passcase when innterval is set, it returns true
+ * @failcase Returns false
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(LightSensorHalTest, set_intervalP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ unsigned long val = 10;
+ bool res = false;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, true);
+
+}
+
+/**
+ * @testcase set_intervalN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered set_interval
+ * @passcase Returns Invalid paramter error
+ * @failcase Doesn't returns Invalid paramter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(LightSensorHalTest, set_intervalN)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 0;
+ unsigned long val = 1;
+ bool res = true;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, false);
+ id = 10;
+ res = true;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, false);
+
+}
+
+
+int main(int argc, char **argv)
+{
+ testing::InitGoogleTest(&argc, argv);
+
+ return RUN_ALL_TESTS();
+}
+
--- /dev/null
+/*
+ * Copyright (c) 2018 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 <glib.h>
+#include <string.h>
+#include <gtest/gtest.h>
+#include <unistd.h>
+#include <iostream>
+
+
+#include "pressure/pressure_device.h"
+#include "sensor_common.h"
+
+using namespace std;
+
+#define SENSOR_NAME "SENSOR_PRESSURE"
+#define SENSOR_TYPE_PRESSURE "PRESSURE"
+
+#define INPUT_NAME "pressure_sensor"
+#define PRESSURE_SENSORHUB_POLL_NODE_NAME "pressure_poll_delay"
+
+int ret;
+bool sensor_supported;
+sensor_device *sensor_handle = NULL;
+
+#define SENSOR_SUPPORT_CHECK \
+ do {\
+ if (!sensor_supported) {\
+ cout << "ACCEL SENSOR NOT SUPPORTED" << endl;\
+ EXPECT_EQ(ret, SENSOR_ERROR_NOT_SUPPORTED);\
+ return;\
+ }\
+ } while (0)
+
+
+
+/*
+ * main class
+ */
+class PressureSensorHalTest : public testing::Test
+{
+
+public:
+ virtual void SetUp()
+ {
+ sensor_supported = false;
+ sensor_handle = new pressure_device;
+ if (sensor_handle == NULL) {
+ cout << "accel sensor init failed " << endl;
+ return;
+ }
+ sensor_supported = true;
+ }
+ virtual void TearDown()
+ {
+ if(sensor_handle) {
+ delete sensor_handle;
+ sensor_handle = NULL;
+ }
+ sensor_supported = false;
+ }
+ /*int GetSupportedFormat(int index)
+ {
+ return 0;
+ }*/
+};
+
+
+
+/**
+ * @testcase get_poll_fdP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, get fd of sensor device
+ * @apicovered get_poll_fd
+ * @passcase returns valid node handle value
+ * @failcase returns invalid node handle value
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(PressureSensorHalTest, get_poll_fdP)
+{
+ SENSOR_SUPPORT_CHECK;
+ int node_handle = 0;
+ node_handle = sensor_handle->get_poll_fd();
+ EXPECT_NE(node_handle, 0);
+}
+
+
+
+/**
+ * @testcase get_hal_versionN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_sensors
+ * @passcase get valid sensor info
+ * @failcase get invalid sensor info
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(PressureSensorHalTest, get_sensorsP)
+{
+ SENSOR_SUPPORT_CHECK;
+ const sensor_info_t *sensor_info_tc = nullptr;
+ ret = sensor_handle->get_sensors(&sensor_info_tc);
+ EXPECT_NE(sensor_info_tc, nullptr);
+ EXPECT_EQ(ret, 1);
+}
+
+/**
+ * @testcase get_hal_versionN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_sensors
+ * @passcase when invalid parameter passed, returns invalid parameter error
+ * @failcase when invalid parameter passed, doesn't return invalid paramter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(PressureSensorHalTest, get_sensorsN)
+{
+ SENSOR_SUPPORT_CHECK;
+ ret = sensor_handle->get_sensors(nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+
+}
+
+
+
+/**
+ * @testcase enableP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered enable
+ * @passcase when valid id passed, returns 1
+ * @failcase when valid id passed, doesn't returns 1
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(PressureSensorHalTest, enableP)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = false;
+ uint32_t id = 1;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, true);
+}
+
+/**
+ * @testcase enableN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered enable
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(PressureSensorHalTest, enableN)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = true;
+ uint32_t id = 0;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, false);
+ res = true;
+ id = 10;
+ res = sensor_handle->enable(id);
+ EXPECT_EQ(res, false);
+
+}
+
+
+
+/**
+ * @testcase disableP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered disable
+ * @passcase when valid id passed, returns true
+ * @failcase when valid id passed, doesn't returns true
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(PressureSensorHalTest, disableP)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = false;
+ uint32_t id = 1;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, true);
+
+}
+
+/**
+ * @testcase disableN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered disabel
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(PressureSensorHalTest, disableN)
+{
+ SENSOR_SUPPORT_CHECK;
+ bool res = true;
+ uint32_t id = 0;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, false);
+ res = true;
+ id = 10;
+ res = sensor_handle->disable(id);
+ EXPECT_EQ(res, false);
+}
+
+/**
+ * @testcase read_fdP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase get valid id and returns other than zero
+ * @failcase get invalid id and returns other zero
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(PressureSensorHalTest, read_fdP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t *id = nullptr;
+ bool res = false;
+ res = sensor_handle->enable(1);
+ EXPECT_EQ(res, true);
+ ret = sensor_handle->read_fd(&id);
+ EXPECT_NE(id, nullptr);
+ EXPECT_NE(ret, 0);
+}
+
+/**
+ * @testcase get_dataN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase when invalid id passed, returns invalid parameter error
+ * @failcase when invalid id passed, doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(PressureSensorHalTest, read_fdN)
+{
+ SENSOR_SUPPORT_CHECK;
+ ret = sensor_handle->read_fd(nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+
+
+}
+
+/**
+ * @testcase get_dataP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered get_data
+ * @passcase Gets valid data and length and returns 0
+ * @failcase Doesn't get valid or length or doesn't return 0
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(PressureSensorHalTest, get_dataP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ sensor_data_t *data = NULL;
+ int length = 0;
+ ret = sensor_handle->get_data(id, &data, &length);
+ EXPECT_EQ(ret, 0);
+ EXPECT_NE(data, nullptr);
+ EXPECT_NE(length, 0);
+}
+
+/**
+ * @testcase read_fdN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered read_fd
+ * @passcase Returns invalid parameter error
+ * @failcase Doesn't returns invalid parameter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(PressureSensorHalTest, get_dataN)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ sensor_data_t *data = nullptr;
+ int length = 0;
+ ret = sensor_handle->get_data(id, nullptr, &length);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+ data = nullptr;
+ ret = sensor_handle->get_data(id, &data, nullptr);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+ id = 0;
+ data = nullptr;
+ length = 0;
+ ret = sensor_handle->get_data(id, &data, &length);
+ EXPECT_EQ(ret, SENSOR_ERROR_INVALID_PARAMETER);
+}
+
+
+/**
+ * @testcase set_intervalP
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered set_interval
+ * @passcase when innterval is set, it returns true
+ * @failcase Returns false
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(PressureSensorHalTest, set_intervalP)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 1;
+ unsigned long val = 10;
+ bool res = false;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, true);
+
+}
+
+/**
+ * @testcase set_intervalN
+ * @since_tizen 4.0
+ * @author SRID(srinivasa.m)
+ * @reviewer SRID(randeep.s)
+ * @type auto
+ * @description Positive, Release video buffer to get new frame in it
+ * @apicovered set_interval
+ * @passcase Returns Invalid paramter error
+ * @failcase Doesn't returns Invalid paramter error
+ * @precondition None
+ * @postcondition None
+ */
+TEST_F(PressureSensorHalTest, set_intervalN)
+{
+ SENSOR_SUPPORT_CHECK;
+ uint32_t id = 0;
+ unsigned long val = 1;
+ bool res = true;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, false);
+ id = 10;
+ res = true;
+ res = sensor_handle->set_interval(id, val);
+ EXPECT_EQ(res, false);
+
+}
+
+
+int main(int argc, char **argv)
+{
+ testing::InitGoogleTest(&argc, argv);
+
+ return RUN_ALL_TESTS();
+}
+