}
error_e NetworkState::AddRoute(const char *ip, const char *mask, const char *interface,
-const char *gateway, int family, bool *result)
+const char *gateway, int family, gboolean *result)
{
GVariant *message = NULL;
error_e error = ERROR_NONE;
}
error_e NetworkState::RemoveRoute(const char *ip, const char *mask, const char *interface,
-const char *gateway, int family, bool *result)
+const char *gateway, int family, gboolean *result)
{
GVariant *message = NULL;
error_e error = ERROR_NONE;
return ERROR_NONE;
}
-error_e NetworkState::GetMeteredInfo(bool *state)
+error_e NetworkState::GetMeteredInfo(gboolean *state)
{
GVariant *message = NULL;
error_e error = ERROR_NONE;
return ERROR_NONE;
}
-error_e NetworkState::GetTCPDumpState(bool *state)
+error_e NetworkState::GetTCPDumpState(gboolean *state)
{
GVariant *message = NULL;
error_e error = ERROR_NONE;
NetworkState();
~NetworkState();
error_e AddRoute(const char *ip, const char *mask, const char *interface,
- const char *gateway, int family, bool *result);
+ const char *gateway, int family, gboolean *result);
error_e RemoveRoute(const char *ip, const char *mask, const char *interface,
- const char *gateway, int family, bool *result);
+ const char *gateway, int family, gboolean *result);
error_e EthernetCableState(int *state);
error_e LaunchMdns(const char *name);
error_e DevicePolicySetWifi(int state);
error_e DevicePolicyGetWifi(int *state);
error_e DevicePolicySetWifiProfile(int state);
error_e DevicePolicyGetWifiProfile(int *state);
- error_e GetMeteredInfo(bool *state);
+ error_e GetMeteredInfo(gboolean *state);
error_e PreferredIpv6Address(const char *profile, char *address);
- error_e GetTCPDumpState(bool *state);
+ error_e GetTCPDumpState(gboolean *state);
error_e StartTCPDump();
error_e StopTCPDump();
};
const char *mask = "255.255.255.0";
const char *interface = "lo";
const char *gateway = "192.168.11.1";
- bool result;
+ gboolean result;
ret = mgr.AddRoute(ip, mask, interface, gateway,
AF_INET, &result);
const char *mask = "255.255.255.0";
const char *interface = "lo";
const char *gateway = "192.168.11.1";
- bool result;
+ gboolean result;
ret = mgr.RemoveRoute(ip, mask, interface, gateway,
AF_INET, &result);
{
error_e ret = ERROR_NONE;
NetworkState mgr;
- bool result;
+ gboolean result;
ret = mgr.RemoveRoute(NULL, NULL, NULL, NULL,
-1, &result);
{
error_e ret = ERROR_NONE;
NetworkState mgr;
- bool state;
+ gboolean state;
ret = mgr.GetMeteredInfo(&state);
EXPECT_EQ(ERROR_NONE, ret);
{
error_e ret = ERROR_NONE;
NetworkState mgr;
- bool state;
+ gboolean state;
ret = mgr.GetMeteredInfo(&state);
EXPECT_EQ(ERROR_NONE, ret);
{
error_e ret = ERROR_NONE;
NetworkState mgr;
- bool state;
+ gboolean state;
ret = mgr.GetTCPDumpState(&state);
EXPECT_EQ(ERROR_NONE, ret);
{
error_e ret = ERROR_NONE;
NetworkState mgr;
- bool state;
+ gboolean state;
ret = mgr.StartTCPDump();
EXPECT_EQ(ERROR_NONE, ret);
error_e ret = ERROR_NONE;
NetworkState mgr;
Wifi wifi_mgr;
- bool state;
+ gboolean state;
ret = mgr.StartTCPDump();
EXPECT_EQ(ERROR_NONE, ret);
{
error_e ret = ERROR_NONE;
NetworkState mgr;
- bool state;
+ gboolean state;
ret = mgr.StopTCPDump();
EXPECT_EQ(ERROR_NONE, ret);
{
error_e ret = ERROR_NONE;
NetworkState mgr;
- bool state;
+ gboolean state;
ret = mgr.StopTCPDump();
EXPECT_EQ(ERROR_NONE, ret);
{
error_e ret = ERROR_NONE;
Wifi mgr;
- bool state;
+ gboolean state;
ret = mgr.IsIpConflictDetectEnabled(&state);
EXPECT_EQ(ERROR_NONE, ret);
{
error_e ret = ERROR_NONE;
Wifi mgr;
- bool state;
+ gboolean state;
ret = mgr.GetAutoscan(&state);
EXPECT_EQ(ERROR_NONE, ret);
{
error_e ret = ERROR_NONE;
Wifi mgr;
- bool state;
+ gboolean state;
ret = mgr.IsIpConflictDetectEnabled(&state);
EXPECT_EQ(ERROR_NONE, ret);
Wifi mgr;
const unsigned char *rand_data = (unsigned char *)"0123456789012345";
unsigned int length = 16;
- bool result;
+ gboolean result;
ret = mgr.ReqSimAuth(rand_data, length, &result);
EXPECT_EQ(ERROR_NONE, ret);
unsigned char rand[5] = {0, };
const unsigned char *rand_data = (unsigned char *)rand;
unsigned int length = 5;
- bool result;
+ gboolean result;
ret = mgr.ReqSimAuth(rand_data, length, &result);
EXPECT_NE(ERROR_NONE, ret);
const unsigned char *rand_data = (unsigned char *)rand;
const unsigned char *auth_data = (unsigned char *)auth;
int length = 16;
- bool result;
+ gboolean result;
ret = mgr.ReqAkaAuth(rand_data, length, auth_data, length, &result);
EXPECT_EQ(ERROR_NONE, ret);
const unsigned char *rand_data = (unsigned char *)rand;
const unsigned char *auth_data = (unsigned char *)auth;
int length = 5;
- bool result;
+ gboolean result;
ret = mgr.ReqAkaAuth(rand_data, length, auth_data, length, &result);
EXPECT_NE(ERROR_NONE, ret);
const char *name = "gtest";
const char *sec_type = "gtest";
const char *eap = "gtest";
- bool allowed;
+ gboolean allowed;
ret = mgr.CheckBlackList(name, sec_type, eap, &allowed);
EXPECT_EQ(ERROR_NONE, ret);
return ERROR_NONE;
}
-error_e Wifi::IsIpConflictDetectEnabled(bool *state)
+error_e Wifi::IsIpConflictDetectEnabled(gboolean *state)
{
GVariant *message = NULL;
error_e error = ERROR_NONE;
return ERROR_NONE;
}
-error_e Wifi::GetAutoscan(bool *state)
+error_e Wifi::GetAutoscan(gboolean *state)
{
GVariant *message = NULL;
error_e error = ERROR_NONE;
}
error_e Wifi::ReqSimAuth(const unsigned char *rand_data, unsigned int length,
- bool *result)
+ gboolean *result)
{
GVariant *message = NULL;
error_e error = ERROR_NONE;
}
error_e Wifi::ReqAkaAuth(const unsigned char *rand_data, int rand_length,
- const unsigned char *autn_data, int auth_length, bool *result)
+ const unsigned char *autn_data, int auth_length, gboolean *result)
{
GVariant *message = NULL;
error_e error = ERROR_NONE;
}
error_e Wifi::CheckBlackList(const char *name, const char *sec_type,
- const char *eap, bool *allowed)
+ const char *eap, gboolean *allowed)
{
GVariant *message = NULL;
error_e error = ERROR_NONE;
~Wifi();
error_e GetWifiState(char *state);
-error_e IsIpConflictDetectEnabled(bool *state);
+error_e IsIpConflictDetectEnabled(gboolean *state);
error_e SetBgscan(int scan_mode);
-error_e GetAutoscan(bool *state);
+error_e GetAutoscan(gboolean *state);
error_e GetIpConflictState(int *state);
error_e GetIpConflictPeriod(int *period);
error_e GetAutoscanmode(int *autoscanmode);
error_e IpConflictSetEnable(bool detect);
error_e GetSimImsi(char *imsi);
error_e ReqSimAuth(const unsigned char *rand_data, unsigned int length,
- bool *result);
+ gboolean *result);
error_e ReqAkaAuth(const unsigned char *rand_data, int rand_length,
- const unsigned char *auth_data, int auth_length, bool *result);
+ const unsigned char *auth_data, int auth_length, gboolean *result);
error_e GetSimAuth(const unsigned char *auth_data, unsigned int length);
error_e CheckBlackList(const char *name, const char *sec_type,
- const char *eap, bool *allowed);
+ const char *eap, gboolean *allowed);
error_e TdlsDisconnect(const char *peer_mac_address, int *result);
error_e TdlsConnectedPeer(char *peer_mac_address);
error_e TdlsConnect(const char *peer_mac_address, int *result);
Name: net-config
Summary: TIZEN Network Configuration service
-Version: 1.1.135
+Version: 1.1.136
Release: 3
Group: System/Network
License: Apache-2.0
cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DTIZEN_WLAN_PASSPOINT=1 \
-DTIZEN_WLAN_USE_P2P_INTERFACE=1 \
- -DTIZEN_DEBUG_ENABLE=1 \
+ -DTIZEN_DEBUG_ENABLE=0 \
-DTIZEN_WEARABLE=1 \
-DTIZEN_CAPTIVE_PORTAL=1 \
-DLIB_PATH=%{_lib} \
%files haltests
%manifest net-config.manifest
-%{_bindir}/*hal_tc
+%{_bindir}/*haltests
netconfig_dpm_init();
/* Start tcpdump if dump state is on */
+#if defined TIZEN_DEBUG_ENABLE
check_dump_state_and_start();
+#endif
if (TIZEN_WLAN_BOARD_SPRD)
wifi_firmware_download();
/* Tethering state */
wifi_state_set_tech_state(NETCONFIG_WIFI_TECH_TETHERED);
}
- if (key)
- g_free(key);
- if (var)
- g_variant_unref(var);
+ g_free(key);
+ g_variant_unref(var);
}
}
g_free(property);
}
done:
- if (sigvalue)
- g_free(sigvalue);
+ g_free(sigvalue);
if (variant)
g_variant_unref(variant);
connman_register_agent();
}
- if (name)
- g_free(name);
- if (old)
- g_free(old);
- if (new)
- g_free(new);
+ g_free(name);
+ g_free(old);
+ g_free(new);
return;
}
}
}
+ g_variant_iter_free(iter);
+
if (updated == TRUE) {
reply = netconfig_invoke_dbus_method_nonblock(CONNMAN_SERVICE,
service, CONNMAN_SERVICE_INTERFACE, "Connect",
NULL, __netconfig_wifi_connect_reply);
- if (reply == TRUE) {
- g_dbus_method_invocation_return_value(context, NULL);
- } else {
+ if (reply != TRUE) {
ERR("Fail to connect Wi-Fi");
__netconfig_agent_clear_fields();
error = g_error_new(G_DBUS_ERROR,
g_dbus_method_invocation_return_gerror(context, error);
g_clear_error(&error);
+ return TRUE;
}
} else {
+ ERR("Fail to connect Wi-Fi");
+ __netconfig_agent_clear_fields();
+
error = g_error_new(G_DBUS_ERROR,
G_DBUS_ERROR_AUTH_FAILED,
CONNMAN_ERROR_INTERFACE ".InvalidArguments");
g_dbus_method_invocation_return_gerror(context, error);
g_clear_error(&error);
+ return TRUE;
}
- if (reply != TRUE) {
- ERR("Fail to connect Wi-Fi");
- __netconfig_agent_clear_fields();
- }
- g_variant_iter_free(iter);
-
net_connman_agent_complete_set_field(connman_agent, context);
return TRUE;
}
+++ /dev/null
-/*
- * 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 <stdio.h>
-#include <stdlib.h>
-#include <iostream>
-#include <gmock/gmock.h>
-#include <gtest/gtest.h>
-#include <unistd.h>
-#include <system_info.h>
-#include <softap.h>
-#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();
-}
#include <gtest/gtest.h>
#include <unistd.h>
#include <wifi-manager.h>
+#include <wifi-direct.h>
+#include <softap.h>
#include <system_info.h>
#include "unittest.h"
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)
{
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;
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] != '-') {
argc--;
}
+ __set_p2p_ifname();
InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
+++ /dev/null
-/*
- * 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 <stdio.h>
-#include <stdlib.h>
-#include <iostream>
-#include <gmock/gmock.h>
-#include <gtest/gtest.h>
-#include <unistd.h>
-#include <wifi-direct.h>
-#include <system_info.h>
-#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();
-}