已开启
fix wlan1 MAC error #5564
fix wlan1 MAC error #5564
已开启
Glenn创建于 1 天前
2 个文件变更+20-1
Mwifi/services/wifi_standard/wifi_framework/wifi_toolkit/utils/wifi_randommac_helper.cpp+1-1
@@ -286,7 +286,7 @@ bool WifiRandomMacHelper::GetWifi2RandomMac(std::string &wifi2RandomMac)
286 }286 }
287 unsigned int outputHexMac = inputHexMac ^ WIFI2_RANDOM_MAC_MASK;287 unsigned int outputHexMac = inputHexMac ^ WIFI2_RANDOM_MAC_MASK;
288 std::stringstream outSsMac;288 std::stringstream outSsMac;
289- outSsMac << std::hex <<outputHexMac;289+ outSsMac << std::hex << std::setw(WIFI2_RANDOM_MAC_CHANGE_LEN) << std::setfill('0') << outputHexMac;
290 wifi2RandomMac.replace(WIFI2_RANDOM_MAC_CHANGE_POS, WIFI2_RANDOM_MAC_CHANGE_LEN, outSsMac.str());290 wifi2RandomMac.replace(WIFI2_RANDOM_MAC_CHANGE_POS, WIFI2_RANDOM_MAC_CHANGE_LEN, outSsMac.str());
291 return true;291 return true;
292}292}
Mwifi/test/wifi_standard/wifi_framework/wifi_toolkit/unittest/wifi_randommac_helper_test.cpp+19-0
@@ -173,5 +173,24 @@ HWTEST_F(WifiRandomMacHelperTest, CalculateRandomMacForWifiDeviceConfig_003, Tes
173 WIFI_LOGI("CalculateRandomMacForWifiDeviceConfig_003 exit");173 WIFI_LOGI("CalculateRandomMacForWifiDeviceConfig_003 exit");
174}174}
175 175 
176+HWTEST_F(WifiRandomMacHelperTest, GetWifi2RandomMac_001, TestSize.Level1)
177+{
178+ std::string mac = "f2:5a:ab:80:de:99";
179+ EXPECT_TRUE(WifiRandomMacHelper::GetWifi2RandomMac(mac));
180+ EXPECT_EQ(mac, "f2:5a:ab:00:de:99");
181+
182+ mac = "f2:5a:ab:8f:de:99";
183+ EXPECT_TRUE(WifiRandomMacHelper::GetWifi2RandomMac(mac));
184+ EXPECT_EQ(mac, "f2:5a:ab:0f:de:99");
185+
186+ mac = "f2:5a:ab:00:de:99";
187+ EXPECT_TRUE(WifiRandomMacHelper::GetWifi2RandomMac(mac));
188+ EXPECT_EQ(mac, "f2:5a:ab:80:de:99");
189+
190+ mac = "f2:5a:ab:7f:de:99";
191+ EXPECT_TRUE(WifiRandomMacHelper::GetWifi2RandomMac(mac));
192+ EXPECT_EQ(mac, "f2:5a:ab:ff:de:99");
193+}
194+ 
176} // namespace Wifi195} // namespace Wifi
177} // namespace OHOS196} // namespace OHOS