wifi(implementation): Add unit test framework
We're going to add some non-trivial logic in wifi chip to handle
multiple chip configurations (to support devices with different
capabilities). So, adding a unit test framework in preparation
for testing those changes.
The mocks only mock legacy HAL methods which are in use during chip
configuration & interface creation/deletion.
Bug: 68775880
Test: Compiles
Change-Id: I8575df02f54656f77077d14ac9535ccc974bdff3
diff --git a/wifi/1.2/default/wifi_chip.cpp b/wifi/1.2/default/wifi_chip.cpp
index 49cf888..c4956e0 100644
--- a/wifi/1.2/default/wifi_chip.cpp
+++ b/wifi/1.2/default/wifi_chip.cpp
@@ -20,7 +20,6 @@
#include "hidl_return_util.h"
#include "hidl_struct_util.h"
#include "wifi_chip.h"
-#include "wifi_feature_flags.h"
#include "wifi_status_util.h"
namespace {
@@ -103,10 +102,12 @@
WifiChip::WifiChip(
ChipId chip_id, const std::weak_ptr<legacy_hal::WifiLegacyHal> legacy_hal,
- const std::weak_ptr<mode_controller::WifiModeController> mode_controller)
+ const std::weak_ptr<mode_controller::WifiModeController> mode_controller,
+ const std::weak_ptr<feature_flags::WifiFeatureFlags> feature_flags)
: chip_id_(chip_id),
legacy_hal_(legacy_hal),
mode_controller_(mode_controller),
+ feature_flags_(feature_flags),
is_valid_(true),
current_mode_id_(kInvalidModeId),
debug_ring_buffer_cb_registered_(false) {}
@@ -404,7 +405,7 @@
const IWifiChip::ChipIfaceCombinationLimit
sta_chip_iface_combination_limit_1 = {{IfaceType::STA}, 1};
IWifiChip::ChipIfaceCombinationLimit sta_chip_iface_combination_limit_2;
- if (WifiFeatureFlags::wifiHidlFeatureAware) {
+ if (feature_flags_.lock()->isAwareSupported()) {
sta_chip_iface_combination_limit_2 = {{IfaceType::P2P, IfaceType::NAN},
1};
} else {
@@ -572,7 +573,7 @@
std::pair<WifiStatus, sp<IWifiNanIface>> WifiChip::createNanIfaceInternal() {
// Only 1 of NAN or P2P iface can be active at a time.
- if (WifiFeatureFlags::wifiHidlFeatureAware) {
+ if (feature_flags_.lock()->isAwareSupported()) {
if (current_mode_id_ != kStaChipModeId || !nan_ifaces_.empty() ||
!p2p_ifaces_.empty()) {
return {createWifiStatus(WifiStatusCode::ERROR_NOT_AVAILABLE), {}};