blob: 890fafe7452e8bd1fd49965bfa82099b4759b7d3 [file] [log] [blame] [edit]
# 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" ]
}