Check the feature in order to execute HAL accordance with the feature. 18/187118/2 accepted/tizen/unified/20180821.091019 submit/tizen/20180820.085416 submit/tizen/20180820.100957
authorsaerome.kim <saerome.kim@samsung.com>
Mon, 20 Aug 2018 06:30:30 +0000 (15:30 +0900)
committersaerome.kim <saerome.kim@samsung.com>
Mon, 20 Aug 2018 07:53:24 +0000 (16:53 +0900)
Change-Id: I0b0fd70df08bcec0d8c574860a285b2be26f3870
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
haltest/CMakeLists.txt
haltest/manager.cpp
haltest/wmeshmgr.cpp [moved from haltest/wifi-mesh-manager-haltests.cpp with 82% similarity]
haltest/wmeshmgr.h
packaging/wifi-mesh-manager.spec

index dff2b4f..40a5ae9 100644 (file)
@@ -1,7 +1,7 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 PROJECT(gtest-haltest-wifi-mesh-manager C CXX)
 
-SET(GTEST_TEST "wifi-mesh-manager-haltests")
+SET(HALTEST "wifi-mesh-manager-haltests")
 ADD_DEFINITIONS("-DUSE_DLOG")
 
 SET(REQUIRES_LIST ${REQUIRES_LIST}
@@ -9,12 +9,13 @@ SET(REQUIRES_LIST ${REQUIRES_LIST}
        gio-2.0
        gmock
        dlog
+       capi-system-info
 )
 
 INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(GTEST_TEST_PKG REQUIRED ${REQUIRES_LIST})
+PKG_CHECK_MODULES(HALTEST_PKG REQUIRED ${REQUIRES_LIST})
 
-FOREACH(flag ${GTEST_TEST_PKG_CFLAGS})
+FOREACH(flag ${HALTEST_PKG_CFLAGS})
        SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
 ENDFOREACH(flag)
 
@@ -23,10 +24,10 @@ 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")
 
-FILE(GLOB GTEST_TEST_SRCS *.cpp)
-SET(GTEST_TEST_SRCS ${GTEST_TEST_SRCS})
+FILE(GLOB HALTEST_SRCS *.cpp)
+SET(HALTEST_SRCS ${HALTEST_SRCS})
 
-ADD_EXECUTABLE(${GTEST_TEST} ${GTEST_TEST_SRCS})
-TARGET_LINK_LIBRARIES(${GTEST_TEST} ${GTEST_TEST_LDFLAGS} ${GTEST_TEST_PKG_LDFLAGS} -ldl -lgcov)
+ADD_EXECUTABLE(${HALTEST} ${HALTEST_SRCS})
+TARGET_LINK_LIBRARIES(${HALTEST} ${HALTEST_LDFLAGS} ${HALTEST_PKG_LDFLAGS} -ldl -lgcov)
 
-INSTALL(TARGETS ${GTEST_TEST} RUNTIME DESTINATION ${BIN_DIR})
+INSTALL(TARGETS ${HALTEST} RUNTIME DESTINATION ${BIN_DIR})
index 4e612fe..0c7659f 100644 (file)
@@ -38,6 +38,9 @@ error_e Manager::EnableManager(void)
        error_e error = ERROR_NONE;
        int result = 0;
 
+       if (!CheckFeature())
+               return ERROR_NONE;
+
        message = InvokeMethod(WIFI_MESH_MGR_SERVICE".manager",
                WIFI_MESH_MGR_MANAGER_PATH,
                WIFI_MESH_MGR_MANAGER_INTERFACE,
@@ -63,6 +66,9 @@ error_e Manager::DisableManager(void)
        error_e error = ERROR_NONE;
        int result = 0;
 
+       if (!CheckFeature())
+               return ERROR_NONE;
+
        message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
                WIFI_MESH_MGR_MANAGER_PATH,
                WIFI_MESH_MGR_MANAGER_INTERFACE,
similarity index 82%
rename from haltest/wifi-mesh-manager-haltests.cpp
rename to haltest/wmeshmgr.cpp
index b857b75..54e6d39 100644 (file)
@@ -20,6 +20,7 @@
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
 #include <unistd.h>
+#include <system_info.h>
 
 #include "manager.h"
 #include "wmesh.h"
@@ -29,6 +30,22 @@ using ::testing::Test;
 using ::testing::TestCase;
 
 char *mesh_id = (char *)"haltestnetwork";
+char *feature_name = (char *)"http://tizen.org/feature/network.wifi.mesh";
+
+bool CheckFeature()
+{
+       bool mesh_supported = FALSE;
+       if (!system_info_get_platform_bool(feature_name, &mesh_supported)) {
+               if (FALSE == mesh_supported) {
+                       GLOGD("wifi-mesh feature is disabled");
+                       return ERROR_NOT_SUPPORTED;
+               }
+               return ERROR_NONE;
+       } else {
+               GLOGD("Error - Feature getting from System Info");
+               return ERROR_INVALID_PARAMETER;
+       }
+}
 
 /*
 @testcase      Enable_p
@@ -48,7 +65,9 @@ TEST(WifiMeshManager, Enable_p)
        error_e ret = ERROR_NONE;
        Manager mgr;
 
-       ret = mgr.EnableManager();
+       if (ERROR_NONE == CheckFeature()) {
+               ret = mgr.EnableManager();
+       }
        EXPECT_EQ(ERROR_NONE, ret);
 }
 
@@ -70,7 +89,9 @@ TEST(WifiMeshManager, EnableMesh_p)
        error_e ret = ERROR_NONE;
        Wmesh w;
 
-       ret = w.EnableMesh();
+       if (ERROR_NONE == CheckFeature()) {
+               ret = w.EnableMesh();
+       }
        EXPECT_EQ(ERROR_NONE, ret);
 }
 
@@ -92,7 +113,9 @@ TEST(WifiMeshManager, Scan_p)
        error_e ret = ERROR_NONE;
        Wmesh w;
 
-       ret = w.Scan();
+       if (ERROR_NONE == CheckFeature()) {
+               ret = w.Scan();
+       }
        EXPECT_EQ(ERROR_NONE, ret);
 }
 
@@ -121,14 +144,17 @@ TEST(WifiMeshManager, SetSoftap_p)
        error_e ret = ERROR_NONE;
        Wmesh w;
 
-       ret = w.SetSoftap(ssid, passphrase,
-                       channel, visibility, max_stations, security);
-       EXPECT_EQ(ERROR_NONE, ret);
+       if (ERROR_NONE == CheckFeature()) {
+               ret = w.SetSoftap(ssid, passphrase,
+                               channel, visibility, max_stations, security);
+               EXPECT_EQ(ERROR_NONE, ret);
 
-       ret = w.GetSoftap();
-       EXPECT_EQ(ERROR_NONE, ret);
+               ret = w.GetSoftap();
+
+               EXPECT_EQ(ERROR_NONE, ret);
 
-       ret = w.EnableSoftap();
+               ret = w.EnableSoftap();
+       }
        EXPECT_EQ(ERROR_NONE, ret);
 }
 
@@ -150,7 +176,9 @@ TEST(WifiMeshManager, DisableSoftap_p)
        error_e ret = ERROR_NONE;
        Wmesh w;
 
-       ret = w.DisableSoftap();
+       if (ERROR_NONE == CheckFeature()) {
+               ret = w.DisableSoftap();
+       }
        EXPECT_EQ(ERROR_NONE, ret);
 }
 
@@ -172,7 +200,9 @@ TEST(WifiMeshManager, CreateMeshNetwork_p)
        error_e ret = ERROR_NONE;
        Wmesh w;
 
-       ret = w.CreateMeshNetwork(mesh_id, 1, 2, 1);
+       if (ERROR_NONE == CheckFeature()) {
+               ret = w.CreateMeshNetwork(mesh_id, 1, 2, 1);
+       }
        EXPECT_EQ(ERROR_NONE, ret);
 }
 
@@ -195,7 +225,9 @@ TEST(WifiMeshManager, ConnectMeshNetwork_p)
        Wmesh w;
        char *passphrase = (char *)"00000000";
 
-       ret = w.ConnectMeshNetwork(mesh_id, 1, 2, passphrase);
+       if (ERROR_NONE == CheckFeature()) {
+               ret = w.ConnectMeshNetwork(mesh_id, 1, 2, passphrase);
+       }
        EXPECT_EQ(ERROR_NONE, ret);
 }
 
@@ -218,7 +250,9 @@ TEST(WifiMeshManager, DisableMesh_p)
        error_e ret = ERROR_NONE;
        Wmesh w;
 
-       ret = w.DisableMesh();
+       if (ERROR_NONE == CheckFeature()) {
+               ret = w.DisableMesh();
+       }
        EXPECT_EQ(ERROR_NONE, ret);
 }
 
@@ -240,7 +274,9 @@ TEST(WifiMeshManager, Disable_p)
        error_e ret = ERROR_NONE;
        Manager mgr;
 
-       ret = mgr.DisableManager();
+       if (ERROR_NONE == CheckFeature()) {
+               ret = mgr.DisableManager();
+       }
        EXPECT_EQ(ERROR_NONE, ret);
 }
 
index 795490e..a292bcd 100644 (file)
@@ -42,5 +42,6 @@ typedef enum {
        ERROR_IN_PROGRESS = -11,
 } error_e;
 
+bool CheckFeature();
 
 #endif /* __WIFI_MESH_MGR_H__ */
index 39c5ae8..dd70574 100644 (file)
@@ -35,12 +35,14 @@ Requires: security-config
 Manager for handling Wi-Fi mesh network
 
 %package haltests
-Summary:        wifi-mesh-manager extension for HAL test
-BuildRequires:         pkgconfig(gmock)
-BuildRequires:         pkgconfig(glib-2.0)
-BuildRequires:         pkgconfig(gio-2.0)
+Summary: wifi-mesh-manager extension for HAL test
+BuildRequires: pkgconfig(gmock)
+BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(gio-2.0)
 BuildRequires: pkgconfig(dlog)
-Requires:       %{name} = %{version}-%{release}
+BuildRequires: pkgconfig(capi-system-info)
+Requires: %{name} = %{version}-%{release}
+
 %description haltests
 TIZEN wifi-mesh-manager extension for HAL test.