| # Copyright 2024 The Fuchsia Authors |
| # |
| # Use of this source code is governed by a MIT-style |
| # license that can be found in the LICENSE file or at |
| # https://opensource.org/licenses/MIT |
| |
| import("//build/components/fuchsia_unittest_package.gni") |
| import("//build/cpp/library_headers.gni") |
| import("//build/test.gni") |
| |
| library_headers("headers") { |
| headers = [ |
| "lib/power-management/energy-model.h", |
| "lib/power-management/power-state.h", |
| "lib/power-management/power-level-controller.h", |
| ] |
| |
| public_deps = [ |
| "//zircon/system/ulib/fbl", |
| "//zircon/system/ulib/ffl", |
| "//zircon/system/ulib/zx", |
| ] |
| |
| if (is_kernel) { |
| headers += [ |
| "lib/power-management/port-power-level-controller.h", |
| "lib/power-management/kernel-registry.h", |
| ] |
| public_deps += [ "//zircon/kernel/object" ] |
| } |
| } |
| |
| source_set("power-management") { |
| sources = [ |
| "energy-model.cc", |
| "power-state.cc", |
| ] |
| public_deps = [ ":headers" ] |
| deps = [ "//zircon/system/ulib/fbl" ] |
| if (is_kernel) { |
| sources += [ |
| "kernel-registry.cc", |
| "port-power-level-controller.cc", |
| ] |
| deps += [ "//zircon/kernel/lib/ktl" ] |
| } |
| } |
| |
| group("tests") { |
| testonly = true |
| deps = [ ":power-management-unittests-package" ] |
| } |
| |
| if (is_kernel) { |
| source_set("kernel-tests") { |
| # TODO: testonly = true |
| sources = [ "power-management-tests.cc" ] |
| deps = [ |
| ":power-management", |
| "//zircon/kernel/lib/unittest", |
| ] |
| } |
| } |
| |
| test("power-management-unittests") { |
| sources = [ |
| "energy-model-test.cc", |
| "power-state-test.cc", |
| "test-helper.cc", |
| ] |
| deps = [ |
| ":power-management", |
| "//src/lib/fxl/test:gtest_main", |
| "//third_party/googletest:gtest", |
| ] |
| } |
| |
| fuchsia_unittest_package("power-management-unittests-package") { |
| manifest = "meta/power-management-unittests.cml" |
| package_name = "power-management-unittests" |
| deps = [ ":power-management-unittests" ] |
| } |