blob: 1bb4661111f626b1d509071beba5f71687203a7f [file] [log] [blame]
# Copyright 2021 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
load(
"@rules_fuchsia//fuchsia:defs.bzl",
"fuchsia_package",
"fuchsia_unittest_component",
)
package(default_visibility = ["//visibility:public"])
# List to hold the test binaries, for ease of component creation.
_tests = []
filegroup(
name = "common_libs",
srcs = [
"@fuchsia_sdk//:arch/x64/sysroot/dist/lib/ld.so.1",
],
visibility = ["//visibility:public"],
)
cc_library(
name = "sim_library",
srcs = [
"fake-ucode-test.cc",
"inspect-host-cmd.cc",
"sim-mcc-update.cc",
"sim-mvm.cc",
"sim-nvm-data.inc",
"sim-nvm.cc",
"sim-time-event.cc",
"sim-trans.cc",
"single-ap-test.cc",
"tlv-fw-builder.cc",
"tlv-fw-builder.h",
"wlan-pkt-builder.cc",
],
hdrs = [
"fake-ucode-test.h",
"inspect-host-cmd.h",
"mock-trans.h",
"sim-mcc-update.h",
"sim-mvm.h",
"sim-nvm.h",
"sim-time-event.h",
"sim-trans.h",
"sim.h",
"single-ap-test.h",
"wlan-pkt-builder.h",
"test.h",
],
deps = [
":mock-ddk",
"//third_party/iwlwifi:core",
"//third_party/iwlwifi/fw:api",
"//third_party/iwlwifi/mvm",
"//third_party/iwlwifi/pcie",
"//third_party/iwlwifi/cfg",
"//third_party/iwlwifi/platform:fuchsia_device",
"//third_party/iwlwifi/platform:rcu_manager",
"//third_party/iwlwifi/platform:platform",
"@com_google_googletest//:gtest_main",
"@fuchsia_sdk//pkg/async-loop-cpp",
"@fuchsia_sdk//pkg/async-loop-default",
"@fuchsia_sdk//fidl/fuchsia.hardware.wlan.softmac:fuchsia.hardware.wlan.softmac_banjo_cc",
"@fuchsia_sdk//fidl/fuchsia.hardware.wlanphyimpl:fuchsia.hardware.wlanphyimpl_banjo_cc",
"@fuchsia_sdk//fidl/fuchsia.wlan.common:fuchsia.wlan.common_banjo_cc",
# "//src/devices/testing/fake-bti",
# "//src/devices/pci/testing:pci-protocol-fake",
# "//src/devices/testing/mock-ddk",
# "//zircon/system/public",
],
)
cc_library(
name = "no_ddk",
srcs = [ "no_ddk.cc" ],
deps = [
"@fuchsia_sdk//pkg/fdio",
"@fuchsia_sdk//pkg/ddk",
]
)
cc_library(
name = "mock-ddk",
srcs = [
"libdriver-api.cc",
"mock-device.cc",
],
hdrs = [ "mock-device.h", ],
deps = [
"@fuchsia_sdk//pkg/fdio",
"@fuchsia_sdk//pkg/ddk",
"@fuchsia_sdk//pkg/async",
"@fuchsia_sdk//pkg/sync",
],
)
cc_library(
name = "mock_function",
hdrs = [ "mock-function.h", ],
deps = [ "@com_google_googletest//:gtest_main", ],
)
cc_library(
name = "stub_mvm",
srcs = [ "stub-mvm.cc" ],
hdrs = [ "test.h" ],
)
# Dummy code for developer to start a new test.
cc_test(
name = "dummy_test",
size = "small",
srcs = [ "dummy-test.cc" ],
deps = [
":sim_library",
":no_ddk",
"@com_google_googletest//:gtest_main",
],
)
_tests += [ "dummy_test" ]
cc_test(
name = "driver_inspector_test",
size = "small",
srcs = [ "driver-inspector-test.cc" ],
deps = [
":sim_library",
"@com_google_googletest//:gtest_main",
"@fuchsia_sdk//pkg/inspect",
"//third_party/iwlwifi/platform:driver_inspector",
],
)
_tests += [ "driver_inspector_test" ]
cc_test(
name = "fw_test",
size = "small",
srcs = [ "fw-test.cc" ],
deps = [
":sim_library",
"@com_google_googletest//:gtest_main",
"//third_party/iwlwifi:core",
"//third_party/iwlwifi/mvm",
],
)
_tests += [ "fw_test" ]
cc_test(
name = "fw_dbg_test",
size = "small",
srcs = [ "fw-dbg-test.cc" ],
deps = [
":sim_library",
"//third_party/iwlwifi/fw",
"//third_party/iwlwifi/platform:driver_inspector",
"@fuchsia_sdk//pkg/inspect",
"@com_google_googletest//:gtest_main",
],
)
_tests += [ "fw_dbg_test" ]
cc_test(
name = "iwl_phy_db_test",
size = "small",
srcs = [ "iwl-phy-db-test.cc" ],
deps = [
":stub_mvm",
":no_ddk",
"//third_party/iwlwifi:core",
"@com_google_googletest//:gtest_main",
],
)
_tests += [ "iwl_phy_db_test" ]
cc_test(
name = "mac80211_test",
size = "small",
srcs = [ "mac80211-test.cc" ],
deps = [
":sim_library",
":mock_function",
"@com_google_googletest//:gtest_main",
"//third_party/iwlwifi/mvm",
],
)
_tests += [ "mac80211_test" ]
cc_test(
name = "mac_ctxt_test",
size = "small",
srcs = [ "mac-ctxt-test.cc" ],
deps = [
":sim_library",
"//third_party/iwlwifi/mvm",
"@com_google_googletest//:gtest_main",
],
)
_tests += [ "mac_ctxt_test" ]
cc_test(
name = "mvm_test",
size = "small",
srcs = [ "mvm-test.cc" ],
deps = [
":sim_library",
":mock_function",
"//third_party/iwlwifi/mvm",
"@com_google_googletest//:gtest_main",
],
)
_tests += [ "mvm_test" ]
cc_test(
name = "notif_wait_test",
size = "small",
srcs = [ "notif-wait-test.cc" ],
deps = [
":stub_mvm",
":no_ddk",
"//third_party/iwlwifi/fw",
"@com_google_googletest//:gtest_main",
],
)
_tests += [ "notif_wait_test" ]
cc_test(
name = "nvm_test",
size = "small",
srcs = [ "nvm-test.cc" ],
deps = [
":sim_library",
"//third_party/iwlwifi:core",
"//third_party/iwlwifi/mvm",
"@com_google_googletest//:gtest_main",
],
)
_tests += [ "nvm_test" ]
cc_test(
name = "pcie_test",
size = "small",
srcs = [ "pcie-test.cc" ],
deps = [
":sim_library",
":mock-ddk",
":mock_function",
"//third_party/iwlwifi:core",
"//third_party/iwlwifi/fw:api",
"//third_party/iwlwifi/pcie",
"//third_party/iwlwifi/platform:fuchsia_device",
"@fuchsia_sdk//pkg/async-loop-cpp",
"@fuchsia_sdk//pkg/async-loop-default",
"@fuchsia_sdk//pkg/sync",
"@com_google_googletest//:gtest_main",
#"//src/devices/pci/testing:pci-protocol-fake",
#"//src/devices/testing/fake-bti",
],
)
_tests += [ "pcie_test" ]
cc_test(
name = "phy_ctxt_test",
size = "small",
srcs = [ "phy-ctxt-test.cc" ],
deps = [
":sim_library",
"//third_party/iwlwifi/mvm",
"@com_google_googletest//:gtest_main",
],
)
_tests += [ "phy_ctxt_test" ]
cc_test(
name = "platform_test",
size = "small",
srcs = [ "platform-test.cc" ],
deps = [
":stub_mvm",
":no_ddk",
"//third_party/iwlwifi/platform",
"@com_google_googletest//:gtest_main",
],
)
_tests += [ "platform_test" ]
cc_test(
name = "rcu_manager_test",
size = "small",
srcs = [ "rcu-manager-test.cc" ],
deps = [
"//third_party/iwlwifi/platform:rcu_manager",
"@com_google_googletest//:gtest_main",
"@fuchsia_sdk//pkg/async",
"@fuchsia_sdk//pkg/sync",
#"//zircon/system/ulib/async-testing",
],
)
_tests += [ "rcu_manager_test" ]
cc_test(
name = "sta_test",
size = "small",
srcs = [ "sta-test.cc" ],
deps = [
":sim_library",
":mock_function",
"//third_party/iwlwifi/mvm",
"@com_google_googletest//:gtest_main",
],
)
_tests += [ "sta_test" ]
cc_test(
name = "task_test",
size = "small",
srcs = [ "task-test.cc" ],
deps = [
":stub_mvm",
":no_ddk",
"//third_party/iwlwifi/platform",
"@com_google_googletest//:gtest_main",
#"//zircon/system/ulib/async-testing",
],
)
_tests += [ "task_test" ]
cc_test(
name = "utils_test",
size = "small",
srcs = [ "utils-test.cc" ],
deps = [
":no_ddk",
"//third_party/iwlwifi/mvm",
"@com_google_googletest//:gtest_main",
],
)
_tests += [ "utils_test" ]
cc_test(
name = "wlan_softmac_device_test",
size = "small",
srcs = [ "wlan-softmac-device-test.cc" ],
deps = [
":sim_library",
":mock_function",
"//third_party/iwlwifi/mvm",
"//third_party/iwlwifi:core",
"//third_party/iwlwifi/platform:fuchsia_device",
"@com_google_googletest//:gtest_main",
"@fuchsia_sdk//fidl/fuchsia.hardware.wlan.softmac:fuchsia.hardware.wlan.softmac_banjo_cc",
"@fuchsia_sdk//fidl/fuchsia.hardware.wlan.associnfo:fuchsia.hardware.wlan.associnfo_banjo_cc",
"@fuchsia_sdk//fidl/fuchsia.wlan.ieee80211:fuchsia.wlan.ieee80211_cc",
],
)
_tests += [ "wlan_softmac_device_test" ]
cc_test(
name = "wlanphy_impl_device_test",
size = "small",
srcs = [ "wlanphy-impl-device-test.cc" ],
deps = [
":sim_library",
"//third_party/iwlwifi/mvm",
"//third_party/iwlwifi/platform:fuchsia_device",
"@fuchsia_sdk//fidl/fuchsia.wlan.common:fuchsia.wlan.common_banjo_cc",
"@fuchsia_sdk//fidl/fuchsia.wlan.internal:fuchsia.wlan.internal_banjo_cc",
"@com_google_googletest//:gtest_main",
],
)
_tests += [ "wlanphy_impl_device_test" ]
# Create component for all the test binaries
[fuchsia_unittest_component(
name = tname + "_component",
test_name = tname,
deps = [
":common_libs",
":" + tname,
"@fuchsia_clang//:dist",
"@fuchsia_sdk//pkg/fdio",
],
) for tname in _tests]
fuchsia_package(
name = "iwlwifi_test_pkg",
package_name = "iwlwifi_test_pkg",
testonly = True,
visibility = ["//visibility:public"],
# How to auto genrate this dep list?
deps = [
":dummy_test_component",
":driver_inspector_test_component",
":fw_test_component", # Doesn't work, some issue in paging.
":fw_dbg_test_component",
":iwl_phy_db_test_component",
":mac80211_test_component",
":mac_ctxt_test_component",
":mvm_test_component", # Issue with memory allocation.
":notif_wait_test_component",
":nvm_test_component",
":pcie_test_component", # commented out bti, fake-pci etc to compile, and tests fail but compiles.
":phy_ctxt_test_component",
":platform_test_component",
# ":rcu_manager_test_component", # Requires async-testing loop.
":sta_test_component",
#":task_test_component", # Requires async-testing loop.
":utils_test_component",
":wlan_softmac_device_test_component",
":wlanphy_impl_device_test_component",
],
)