summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Wiley <wiley@google.com>2016-06-28 09:33:44 -0700
committerChristopher Wiley <wiley@google.com>2016-06-28 09:51:00 -0700
commite9a0f2ca0e00d815d595fd85b88dbfdc310eaa12 (patch)
tree44b3bde18de5aa66f57149188729fa3d1ed2d26e
parent19cba7cbdb97f4348b519e55c1dce7eb5045d750 (diff)
Add mocks for wifi libraries
Bug: 29634806 Change-Id: I2383f4a6294a8ee9e86564ad21c99b539de62eec Test: wificond tests can use these headers
-rw-r--r--libwifi_hal/Android.mk14
-rw-r--r--libwifi_hal/testlib/include/wifi_hal_test/mock_driver_tool.h39
-rw-r--r--libwifi_system/Android.mk26
-rw-r--r--libwifi_system/testlib/include/wifi_system_test/mock_hal_tool.h37
-rw-r--r--libwifi_system/testlib/include/wifi_system_test/mock_interface_tool.h37
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