diff options
author | Christopher Wiley <wiley@google.com> | 2016-06-28 09:33:44 -0700 |
---|---|---|
committer | Christopher Wiley <wiley@google.com> | 2016-06-28 09:51:00 -0700 |
commit | e9a0f2ca0e00d815d595fd85b88dbfdc310eaa12 (patch) | |
tree | 44b3bde18de5aa66f57149188729fa3d1ed2d26e | |
parent | 19cba7cbdb97f4348b519e55c1dce7eb5045d750 (diff) |
Add mocks for wifi libraries
Bug: 29634806
Change-Id: I2383f4a6294a8ee9e86564ad21c99b539de62eec
Test: wificond tests can use these headers
-rw-r--r-- | libwifi_hal/Android.mk | 14 | ||||
-rw-r--r-- | libwifi_hal/testlib/include/wifi_hal_test/mock_driver_tool.h | 39 | ||||
-rw-r--r-- | libwifi_system/Android.mk | 26 | ||||
-rw-r--r-- | libwifi_system/testlib/include/wifi_system_test/mock_hal_tool.h | 37 | ||||
-rw-r--r-- | libwifi_system/testlib/include/wifi_system_test/mock_interface_tool.h | 37 |
5 files changed, 148 insertions, 5 deletions
diff --git a/libwifi_hal/Android.mk b/libwifi_hal/Android.mk index dee5a3a85..46c5e4c94 100644 --- a/libwifi_hal/Android.mk +++ b/libwifi_hal/Android.mk @@ -110,4 +110,18 @@ LOCAL_SRC_FILES := \ LOCAL_WHOLE_STATIC_LIBRARIES := $(LIB_WIFI_HAL) libwifi-hal-common include $(BUILD_SHARED_LIBRARY) +# Test utilities (e.g. mock classes) for libwifi-hal +# ============================================================ +include $(CLEAR_VARS) +LOCAL_MODULE := libwifi-hal-test +LOCAL_CFLAGS := $(wifi_hal_cflags) +LOCAL_C_INCLUDES := \ + $(LOCAL_PATH)/include \ + $(LOCAL_PATH)/testlib/include +LOCAL_STATIC_LIBRARIES := libgmock +LOCAL_EXPORT_C_INCLUDE_DIRS := \ + $(LOCAL_PATH)/include \ + $(LOCAL_PATH)/testlib/include +include $(BUILD_STATIC_LIBRARY) + endif diff --git a/libwifi_hal/testlib/include/wifi_hal_test/mock_driver_tool.h b/libwifi_hal/testlib/include/wifi_hal_test/mock_driver_tool.h new file mode 100644 index 000000000..fef0dabd9 --- /dev/null +++ b/libwifi_hal/testlib/include/wifi_hal_test/mock_driver_tool.h @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * 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. + */ + +#ifndef ANDROID_WIFI_HAL_MOCK_DRIVER_TOOL_H +#define ANDROID_WIFI_HAL_MOCK_DRIVER_TOOL_H + +#include <wifi_hal/driver_tool.h> + +namespace android { +namespace wifi_hal { + +class MockDriverTool : public DriverTool { + public: + ~MockDriverTool() override = default; + MOCK_METHOD0(LoadDriver, bool()); + MOCK_METHOD0(UnloadDriver, bool()); + MOCK_METHOD0(IsDriverLoaded, bool()); + MOCK_METHOD1(ChangeFirmwareMode, bool(int mode)); + +}; // class MockDriverTool + +} // namespace wifi_hal +} // namespace android + +#endif // ANDROID_WIFI_HAL_MOCK_DRIVER_TOOL_H + diff --git a/libwifi_system/Android.mk b/libwifi_system/Android.mk index 43efda960..d37fa9a9e 100644 --- a/libwifi_system/Android.mk +++ b/libwifi_system/Android.mk @@ -16,11 +16,7 @@ LOCAL_PATH := $(call my-dir) ifneq ($(TARGET_BUILD_PDK), true) -# Device independent wifi system logic. -# ============================================================ -include $(CLEAR_VARS) -LOCAL_MODULE := libwifi-system -LOCAL_CFLAGS := \ +wifi_system_cflags := \ -Wall \ -Werror \ -Wextra \ @@ -30,6 +26,12 @@ LOCAL_CFLAGS := \ -Wshadow \ -Wunused-variable \ -Wwrite-strings + +# Device independent wifi system logic. +# ============================================================ +include $(CLEAR_VARS) +LOCAL_MODULE := libwifi-system +LOCAL_CFLAGS := $(wifi_system_cflags) LOCAL_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include LOCAL_SHARED_LIBRARIES := \ @@ -52,4 +54,18 @@ LOCAL_SRC_FILES := \ wifi.cpp include $(BUILD_SHARED_LIBRARY) +# Test utilities (e.g. mock classes) for libwifi-system +# ============================================================ +include $(CLEAR_VARS) +LOCAL_MODULE := libwifi-system-test +LOCAL_CFLAGS := $(wifi_system_cflags) +LOCAL_C_INCLUDES := \ + $(LOCAL_PATH)/include \ + $(LOCAL_PATH)/testlib/include +LOCAL_STATIC_LIBRARIES := libgmock +LOCAL_EXPORT_C_INCLUDE_DIRS := \ + $(LOCAL_PATH)/include \ + $(LOCAL_PATH)/testlib/include +include $(BUILD_STATIC_LIBRARY) + endif diff --git a/libwifi_system/testlib/include/wifi_system_test/mock_hal_tool.h b/libwifi_system/testlib/include/wifi_system_test/mock_hal_tool.h new file mode 100644 index 000000000..312428f00 --- /dev/null +++ b/libwifi_system/testlib/include/wifi_system_test/mock_hal_tool.h @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * 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. + */ + +#ifndef ANDROID_WIFI_SYSTEM_TEST_MOCK_HAL_TOOL_H +#define ANDROID_WIFI_SYSTEM_TEST_MOCK_HAL_TOOL_H + +#include <wifi_system/hal_tool.h> + +namespace android { +namespace wifi_system { + +class MockHalTool : public HalTool { + public: + ~MockHalTool() override = default; + + MOCK_METHOD1(InitFunctionTable, bool(wifi_hal_fn*)); + MOCK_METHOD1(CanGetValidChannels, bool(wifi_hal_fn*)); + +}; // class MockHalTool + +} // namespace wifi_system +} // namespace android + +#endif // ANDROID_WIFI_SYSTEM_TEST_MOCK_HAL_TOOL_H diff --git a/libwifi_system/testlib/include/wifi_system_test/mock_interface_tool.h b/libwifi_system/testlib/include/wifi_system_test/mock_interface_tool.h new file mode 100644 index 000000000..13e67807a --- /dev/null +++ b/libwifi_system/testlib/include/wifi_system_test/mock_interface_tool.h @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * 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. + */ + +#ifndef ANDROID_WIFI_SYSTEM_TEST_MOCK_INTERFACE_TOOL_H +#define ANDROID_WIFI_SYSTEM_TEST_MOCK_INTERFACE_TOOL_H + +#include <wifi_system/interface_tool.h> + +namespace android { +namespace wifi_system { + +class MockInterfaceTool : public InterfaceTool { + public: + ~MockInterfaceTool() override = default; + + MOCK_METHOD2(SetUpState, bool(const char* if_name, bool request_up)); + MOCK_METHOD1(SetWifiUpState, bool(bool request_up)); + +}; // class MockInterfaceTool + +} // namespace wifi_system +} // namespace android + +#endif // ANDROID_WIFI_SYSTEM_TEST_MOCK_INTERFACE_TOOL_H |