From 8e3614238f585e09caeb055ce1881aee7cc064e6 Mon Sep 17 00:00:00 2001 From: Jaehyun Kim Date: Tue, 14 Aug 2018 15:59:49 +0900 Subject: [PATCH] Combine the HAL TCs into one file Change-Id: I3e7f8be918d088ee6b4dfe1d53223cc96a9df772 Signed-off-by: Jaehyun Kim --- unittest/hostap_haltests.cpp | 148 -------------------------- unittest/wifi_direct_haltests.cpp | 174 ------------------------------ unittest/wifi_haltests.cpp | 217 +++++++++++++++++++++++++++++++++++++- 3 files changed, 216 insertions(+), 323 deletions(-) delete mode 100755 unittest/hostap_haltests.cpp delete mode 100755 unittest/wifi_direct_haltests.cpp diff --git a/unittest/hostap_haltests.cpp b/unittest/hostap_haltests.cpp deleted file mode 100755 index 342c623..0000000 --- a/unittest/hostap_haltests.cpp +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved - * - * 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 -#include -#include -#include -#include -#include -#include -#include -#include "unittest.h" - -using ::testing::InitGoogleTest; -using ::testing::Test; -using ::testing::TestCase; - -static softap_h sa = NULL; -static bool g_is_requested; -static softap_error_e g_error; -static softap_disabled_cause_e g_code; - -static bool __check_feature_supported(char *key) -{ - bool value = false; - int ret = system_info_get_platform_bool(key, &value); - - EXPECT_EQ(SYSTEM_INFO_ERROR_NONE, ret) << "system_info_get_platform_bool failed"; - EXPECT_EQ(true, value) << key << " feature is not supported"; - - return value; -} - -static gboolean __timeout_callback(gpointer data) -{ - EXPECT_TRUE(0) << "SoftAP callback timeout!"; - QUIT_GMAIN_LOOP; - return FALSE; -} - -static void __enabled_cb(softap_error_e error, bool is_requested, void *data) -{ - g_error = error; - g_is_requested = is_requested; - QUIT_GMAIN_LOOP; -} - -static void __disabled_cb(softap_error_e error, softap_disabled_cause_e code, void *data) -{ - g_error = error; - g_code = code; - QUIT_GMAIN_LOOP; -} - -TEST(Hal_softap, Init_p) -{ - g_bFeatureWifi = __check_feature_supported((char*)FEATURE_WIFI); - ASSERT_EQ(true, g_bFeatureWifi) << FEATURE_WIFI << " feature is not supported"; - - int ret = SOFTAP_ERROR_NONE; - - ret = softap_create(&sa); - ASSERT_EQ(SOFTAP_ERROR_NONE, ret) << "Initialization failure"; - - ret = softap_set_enabled_cb(sa, __enabled_cb, NULL); - EXPECT_EQ(SOFTAP_ERROR_NONE, ret) << "Fail to set enabled callback!!"; - - ret = softap_set_disabled_cb(sa, __disabled_cb, NULL); - EXPECT_EQ(SOFTAP_ERROR_NONE, ret) << "Fail to set disabled callback!!"; -} - -TEST(Hal_softap, Activate_p) -{ - ASSERT_EQ(true, g_bFeatureWifi) << FEATURE_WIFI << " feature is not supported"; - - int ret = SOFTAP_ERROR_NONE; - bool enabled = false; - - ret = softap_is_enabled(sa, &enabled); - ASSERT_EQ(SOFTAP_ERROR_NONE, ret) << "Failed to get SoftAP state"; - - if (enabled) - goto done; - - ret = softap_enable(sa); - ASSERT_EQ(SOFTAP_ERROR_NONE, ret) << "Failed to enable SoftAP"; - - RUN_GMAIN_LOOP(__timeout_callback); - - EXPECT_EQ(SOFTAP_ERROR_NONE, g_error) << "Failed to enable SoftAP"; - EXPECT_EQ(true, g_is_requested) << "Failed to enable SoftAP"; - -done: - ret = access(WIFI_ADDRESS_PATH, F_OK); - EXPECT_EQ(0, ret) << "Could not access " << WIFI_ADDRESS_PATH; -} - -TEST(Hal_softap, Deactivate_p) -{ - ASSERT_EQ(true, g_bFeatureWifi) << FEATURE_WIFI << " feature is not supported"; - - int ret = SOFTAP_ERROR_NONE; - - ret = softap_disable(sa); - ASSERT_EQ(SOFTAP_ERROR_NONE, ret) << "Failed to disable SoftAP"; - - RUN_GMAIN_LOOP(__timeout_callback); - - EXPECT_EQ(SOFTAP_ERROR_NONE, g_error) << "Failed to disable SoftAP" << g_code; - - ret = access(WIFI_ADDRESS_PATH, F_OK); - EXPECT_EQ(-1, ret) << WIFI_ADDRESS_PATH << " is exist"; -} - -TEST(Hal_softap, Deinit_p) -{ - ASSERT_EQ(true, g_bFeatureWifi) << FEATURE_WIFI << " feature is not supported"; - - int ret = SOFTAP_ERROR_NONE; - - ret = softap_unset_enabled_cb(sa); - EXPECT_EQ(SOFTAP_ERROR_NONE, ret) << "Fail to unset enabled callback!!"; - - ret = softap_unset_disabled_cb(sa); - EXPECT_EQ(SOFTAP_ERROR_NONE, ret) << "Fail to unset disabled callback!!"; - - ret = softap_destroy(sa); - EXPECT_EQ(SOFTAP_ERROR_NONE, ret) << "Deinitialization failure"; -} - -int main(int argc, char **argv) -{ - InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/unittest/wifi_direct_haltests.cpp b/unittest/wifi_direct_haltests.cpp deleted file mode 100755 index bcfb5a9..0000000 --- a/unittest/wifi_direct_haltests.cpp +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved - * - * 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 -#include -#include -#include -#include -#include -#include -#include -#include "unittest.h" - -using ::testing::InitGoogleTest; -using ::testing::Test; -using ::testing::TestCase; - -static int rst = WIFI_DIRECT_ERROR_OPERATION_FAILED; -static wifi_direct_device_state_e dev_state = WIFI_DIRECT_DEVICE_STATE_DEACTIVATED; -static char p2p_ifname[MAX_PATH_LENGTH]; - -static bool __check_feature_supported(char *key) -{ - bool value = false; - int ret = system_info_get_platform_bool(key, &value); - - EXPECT_EQ(SYSTEM_INFO_ERROR_NONE, ret) << "system_info_get_platform_bool failed"; - EXPECT_EQ(true, value) << key << " feature is not supported"; - - return value; -} - -static gboolean __timeout_callback(gpointer data) -{ - EXPECT_TRUE(0) << "Wi-Fi Direct callback timeout!"; - QUIT_GMAIN_LOOP; - return FALSE; -} - -static void __device_state_changed_cb(int error_code, - wifi_direct_device_state_e device_state, void *user_data) -{ - rst = error_code; - dev_state = device_state; - QUIT_GMAIN_LOOP; -} - -static void __set_p2p_ifname(void) -{ - GKeyFile *key_file = NULL; - GError *error = NULL; - char *ifn = NULL; - - key_file = g_key_file_new(); - if (!g_key_file_load_from_file(key_file, WIFI_P2P_CONFIG_PATH, G_KEY_FILE_NONE, &error)) { - g_clear_error(&error); - g_key_file_free(key_file); - key_file = NULL; - return; - } - - ifn = g_key_file_get_string(key_file, WFD_CONF_GROUP_NAME, "p2p_interface", &error); - if (ifn) - g_snprintf(p2p_ifname, MAX_PATH_LENGTH, "/sys/class/net/%s/address", ifn); - - if (error) - g_clear_error(&error); - g_key_file_free(key_file); -} - - -TEST(Hal_wifi_direct, Init_p) -{ - g_bFeatureP2P = __check_feature_supported((char*)WIFIDIRECT_FEATURE); - ASSERT_EQ(true, g_bFeatureP2P) << WIFIDIRECT_FEATURE << " feature is not supported"; - - int rv = wifi_direct_initialize(); - EXPECT_EQ(WIFI_DIRECT_ERROR_NONE, rv) << "Initialization failure"; -} - -TEST(Hal_wifi_direct, Activate_p) -{ - ASSERT_EQ(true, g_bFeatureP2P) << WIFIDIRECT_FEATURE << " feature is not supported"; - - int rv; - wifi_direct_state_e state = WIFI_DIRECT_STATE_ACTIVATED; - - rv = wifi_direct_get_state(&state); - ASSERT_EQ(0, rv) << "Failed to get Wi-Fi Direct device state"; - - if (state != WIFI_DIRECT_STATE_DEACTIVATED) - goto done; - - rv = wifi_direct_set_device_state_changed_cb(__device_state_changed_cb, NULL); - ASSERT_EQ(WIFI_DIRECT_ERROR_NONE, rv) << "Failed to set activation callback"; - - rv = wifi_direct_activate(); - ASSERT_EQ(WIFI_DIRECT_ERROR_NONE, rv) << "Failed to activate Wi-Fi Direct device"; - - RUN_GMAIN_LOOP(__timeout_callback); - - EXPECT_EQ(WIFI_DIRECT_ERROR_NONE, rst) << "Activetion failure"; - rst = WIFI_DIRECT_ERROR_OPERATION_FAILED; - - rv = wifi_direct_get_state(&state); - EXPECT_EQ(0, rv) << "Failed to get Wi-Fi Direct device state"; - EXPECT_EQ(WIFI_DIRECT_STATE_ACTIVATED, state) << "Activetion failure"; - -done: - if (p2p_ifname[0]) - rv = access(p2p_ifname, F_OK); - else - rv = access(WIFI_P2P_PATH, F_OK); - EXPECT_EQ(0, rv) << "Could not access " << WIFI_ADDRESS_PATH; -} - -TEST(Hal_wifi_direct, Deactivate_p) -{ - ASSERT_EQ(true, g_bFeatureP2P) << WIFIDIRECT_FEATURE << " feature is not supported"; - - int rv; - - rv = wifi_direct_deactivate(); - ASSERT_EQ(WIFI_DIRECT_ERROR_NONE, rv) << "Failed to deactivate Wi-Fi Direct"; - - RUN_GMAIN_LOOP(__timeout_callback); - - EXPECT_EQ(WIFI_DIRECT_ERROR_NONE, rst) << "Deactivation failure"; - rst = WIFI_DIRECT_ERROR_OPERATION_FAILED; - - wifi_direct_state_e state = WIFI_DIRECT_STATE_ACTIVATED; - rv = wifi_direct_get_state(&state); - EXPECT_EQ(0, rv) << "Failed to get Wi-Fi Direct device state"; - - EXPECT_EQ(WIFI_DIRECT_STATE_DEACTIVATED, state) << "Deactivetion failure"; - - if (p2p_ifname[0]) - rv = access(p2p_ifname, F_OK); - else - rv = access(WIFI_P2P_PATH, F_OK); - EXPECT_EQ(-1, rv) << WIFI_P2P_PATH << " is exist"; - - rv = wifi_direct_unset_device_state_changed_cb(); - EXPECT_EQ(WIFI_DIRECT_ERROR_NONE, rv) << "Failed to unset activation callback"; -} - -TEST(Hal_wifi_direct, Deinit_p) -{ - ASSERT_EQ(true, g_bFeatureP2P) << WIFIDIRECT_FEATURE << " feature is not supported"; - - int rv = wifi_direct_deinitialize(); - EXPECT_EQ(WIFI_DIRECT_ERROR_NONE, rv) << "Deinitialization failure"; -} - -int main(int argc, char **argv) -{ - __set_p2p_ifname(); - - InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/unittest/wifi_haltests.cpp b/unittest/wifi_haltests.cpp index 8b92569..c8ff764 100755 --- a/unittest/wifi_haltests.cpp +++ b/unittest/wifi_haltests.cpp @@ -21,6 +21,8 @@ #include #include #include +#include +#include #include #include "unittest.h" @@ -33,6 +35,14 @@ static wifi_manager_h wifi = NULL; static wifi_manager_error_e rst = WIFI_MANAGER_ERROR_NOT_SUPPORTED; wifi_manager_ap_h g_hWifiAP; +static int rst_p2p = WIFI_DIRECT_ERROR_OPERATION_FAILED; +static wifi_direct_device_state_e dev_state = WIFI_DIRECT_DEVICE_STATE_DEACTIVATED; +static char p2p_ifname[MAX_PATH_LENGTH]; + +static softap_h sa = NULL; +static bool g_is_requested; +static softap_error_e g_error; +static softap_disabled_cause_e g_code; static bool __check_feature_supported(char *key) { @@ -53,11 +63,56 @@ static void __test_callback(wifi_manager_error_e result, void* user_data) static gboolean __timeout_callback(gpointer data) { - EXPECT_TRUE(0) << "Wi-Fi Manager callback timeout!"; + EXPECT_TRUE(0) << "Wi-Fi TC callback timeout!"; QUIT_GMAIN_LOOP; return FALSE; } +static void __device_state_changed_cb(int error_code, + wifi_direct_device_state_e device_state, void *user_data) +{ + rst_p2p = error_code; + dev_state = device_state; + QUIT_GMAIN_LOOP; +} + +static void __enabled_cb(softap_error_e error, bool is_requested, void *data) +{ + g_error = error; + g_is_requested = is_requested; + QUIT_GMAIN_LOOP; +} + +static void __disabled_cb(softap_error_e error, softap_disabled_cause_e code, void *data) +{ + g_error = error; + g_code = code; + QUIT_GMAIN_LOOP; +} + +static void __set_p2p_ifname(void) +{ + GKeyFile *key_file = NULL; + GError *error = NULL; + char *ifn = NULL; + + key_file = g_key_file_new(); + if (!g_key_file_load_from_file(key_file, WIFI_P2P_CONFIG_PATH, G_KEY_FILE_NONE, &error)) { + g_clear_error(&error); + g_key_file_free(key_file); + key_file = NULL; + return; + } + + ifn = g_key_file_get_string(key_file, WFD_CONF_GROUP_NAME, "p2p_interface", &error); + if (ifn) + g_snprintf(p2p_ifname, MAX_PATH_LENGTH, "/sys/class/net/%s/address", ifn); + + if (error) + g_clear_error(&error); + g_key_file_free(key_file); +} + static bool __found_ap_callback(wifi_manager_ap_h ap, void *user_data) { char *ap_name = NULL; @@ -211,6 +266,165 @@ TEST(Hal_wifi, Deinit_p) EXPECT_EQ(WIFI_MANAGER_ERROR_NONE, rv) << "Deinitialization failure"; } +TEST(Hal_wifi_direct, Init_p) +{ + g_bFeatureP2P = __check_feature_supported((char*)WIFIDIRECT_FEATURE); + ASSERT_EQ(true, g_bFeatureP2P) << WIFIDIRECT_FEATURE << " feature is not supported"; + + int rv = wifi_direct_initialize(); + EXPECT_EQ(WIFI_DIRECT_ERROR_NONE, rv) << "Initialization failure"; +} + +TEST(Hal_wifi_direct, Activate_p) +{ + ASSERT_EQ(true, g_bFeatureP2P) << WIFIDIRECT_FEATURE << " feature is not supported"; + + int rv; + wifi_direct_state_e state = WIFI_DIRECT_STATE_ACTIVATED; + + rv = wifi_direct_get_state(&state); + ASSERT_EQ(0, rv) << "Failed to get Wi-Fi Direct device state"; + + if (state != WIFI_DIRECT_STATE_DEACTIVATED) + goto done; + + rv = wifi_direct_set_device_state_changed_cb(__device_state_changed_cb, NULL); + ASSERT_EQ(WIFI_DIRECT_ERROR_NONE, rv) << "Failed to set activation callback"; + + rv = wifi_direct_activate(); + ASSERT_EQ(WIFI_DIRECT_ERROR_NONE, rv) << "Failed to activate Wi-Fi Direct device"; + + RUN_GMAIN_LOOP(__timeout_callback); + + EXPECT_EQ(WIFI_DIRECT_ERROR_NONE, rst_p2p) << "Activetion failure"; + rst_p2p = WIFI_DIRECT_ERROR_OPERATION_FAILED; + + rv = wifi_direct_get_state(&state); + EXPECT_EQ(0, rv) << "Failed to get Wi-Fi Direct device state"; + EXPECT_EQ(WIFI_DIRECT_STATE_ACTIVATED, state) << "Activetion failure"; + +done: + if (p2p_ifname[0]) + rv = access(p2p_ifname, F_OK); + else + rv = access(WIFI_P2P_PATH, F_OK); + EXPECT_EQ(0, rv) << "Could not access " << WIFI_ADDRESS_PATH; +} + +TEST(Hal_wifi_direct, Deactivate_p) +{ + ASSERT_EQ(true, g_bFeatureP2P) << WIFIDIRECT_FEATURE << " feature is not supported"; + + int rv; + + rv = wifi_direct_deactivate(); + ASSERT_EQ(WIFI_DIRECT_ERROR_NONE, rv) << "Failed to deactivate Wi-Fi Direct"; + + RUN_GMAIN_LOOP(__timeout_callback); + + EXPECT_EQ(WIFI_DIRECT_ERROR_NONE, rst_p2p) << "Deactivation failure"; + rst_p2p = WIFI_DIRECT_ERROR_OPERATION_FAILED; + + wifi_direct_state_e state = WIFI_DIRECT_STATE_ACTIVATED; + rv = wifi_direct_get_state(&state); + EXPECT_EQ(0, rv) << "Failed to get Wi-Fi Direct device state"; + + EXPECT_EQ(WIFI_DIRECT_STATE_DEACTIVATED, state) << "Deactivetion failure"; + + if (p2p_ifname[0]) + rv = access(p2p_ifname, F_OK); + else + rv = access(WIFI_P2P_PATH, F_OK); + EXPECT_EQ(-1, rv) << WIFI_P2P_PATH << " is exist"; + + rv = wifi_direct_unset_device_state_changed_cb(); + EXPECT_EQ(WIFI_DIRECT_ERROR_NONE, rv) << "Failed to unset activation callback"; +} + +TEST(Hal_wifi_direct, Deinit_p) +{ + ASSERT_EQ(true, g_bFeatureP2P) << WIFIDIRECT_FEATURE << " feature is not supported"; + + int rv = wifi_direct_deinitialize(); + EXPECT_EQ(WIFI_DIRECT_ERROR_NONE, rv) << "Deinitialization failure"; +} + +TEST(Hal_softap, Init_p) +{ + g_bFeatureWifi = __check_feature_supported((char*)FEATURE_WIFI); + ASSERT_EQ(true, g_bFeatureWifi) << FEATURE_WIFI << " feature is not supported"; + + int ret = SOFTAP_ERROR_NONE; + + ret = softap_create(&sa); + ASSERT_EQ(SOFTAP_ERROR_NONE, ret) << "Initialization failure"; + + ret = softap_set_enabled_cb(sa, __enabled_cb, NULL); + EXPECT_EQ(SOFTAP_ERROR_NONE, ret) << "Fail to set enabled callback!!"; + + ret = softap_set_disabled_cb(sa, __disabled_cb, NULL); + EXPECT_EQ(SOFTAP_ERROR_NONE, ret) << "Fail to set disabled callback!!"; +} + +TEST(Hal_softap, Activate_p) +{ + ASSERT_EQ(true, g_bFeatureWifi) << FEATURE_WIFI << " feature is not supported"; + + int ret = SOFTAP_ERROR_NONE; + bool enabled = false; + + ret = softap_is_enabled(sa, &enabled); + ASSERT_EQ(SOFTAP_ERROR_NONE, ret) << "Failed to get SoftAP state"; + + if (enabled) + goto done; + + ret = softap_enable(sa); + ASSERT_EQ(SOFTAP_ERROR_NONE, ret) << "Failed to enable SoftAP"; + + RUN_GMAIN_LOOP(__timeout_callback); + + EXPECT_EQ(SOFTAP_ERROR_NONE, g_error) << "Failed to enable SoftAP"; + EXPECT_EQ(true, g_is_requested) << "Failed to enable SoftAP"; + +done: + ret = access(WIFI_ADDRESS_PATH, F_OK); + EXPECT_EQ(0, ret) << "Could not access " << WIFI_ADDRESS_PATH; +} + +TEST(Hal_softap, Deactivate_p) +{ + ASSERT_EQ(true, g_bFeatureWifi) << FEATURE_WIFI << " feature is not supported"; + + int ret = SOFTAP_ERROR_NONE; + + ret = softap_disable(sa); + ASSERT_EQ(SOFTAP_ERROR_NONE, ret) << "Failed to disable SoftAP"; + + RUN_GMAIN_LOOP(__timeout_callback); + + EXPECT_EQ(SOFTAP_ERROR_NONE, g_error) << "Failed to disable SoftAP" << g_code; + + ret = access(WIFI_ADDRESS_PATH, F_OK); + EXPECT_EQ(-1, ret) << WIFI_ADDRESS_PATH << " is exist"; +} + +TEST(Hal_softap, Deinit_p) +{ + ASSERT_EQ(true, g_bFeatureWifi) << FEATURE_WIFI << " feature is not supported"; + + int ret = SOFTAP_ERROR_NONE; + + ret = softap_unset_enabled_cb(sa); + EXPECT_EQ(SOFTAP_ERROR_NONE, ret) << "Fail to unset enabled callback!!"; + + ret = softap_unset_disabled_cb(sa); + EXPECT_EQ(SOFTAP_ERROR_NONE, ret) << "Fail to unset disabled callback!!"; + + ret = softap_destroy(sa); + EXPECT_EQ(SOFTAP_ERROR_NONE, ret) << "Deinitialization failure"; +} + int main(int argc, char **argv) { if (argc > 1 && argv[argc - 1][0] != '-') { @@ -218,6 +432,7 @@ int main(int argc, char **argv) argc--; } + __set_p2p_ifname(); InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } -- 2.7.4