blob: 783f909c42ba9aa82b5d7df3528f8c019d5fd034 [file] [log] [blame]
# Copyright 2019 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.
import("//build/components.gni")
import("//build/config/fuchsia/rules.gni")
import("//build/dist/component_manifest_resources.gni")
import("//build/test.gni")
group("bootfs") {
deps = [
":meta",
":virtual-console",
]
}
component_manifest_resources("meta") {
sources = [ "meta/virtual-console.cml" ]
}
# This can't be a source_set() because the test compiles with a #define.
common_sources = [
"args.cc",
"keyboard-vt100.cc",
"keyboard.cc",
"textcon.cc",
"vc-device.cc",
"vc-gfx.cc",
"vc-input.cc",
]
group("common") {
visibility = [ ":*" ]
public_deps = [
"//sdk/banjo/fuchsia.hardware.display.controller",
"//sdk/fidl/fuchsia.boot:fuchsia.boot_llcpp",
"//sdk/fidl/fuchsia.hardware.display:fuchsia.hardware.display_llcpp",
"//sdk/fidl/fuchsia.hardware.input:fuchsia.hardware.input_c",
"//sdk/fidl/fuchsia.hardware.power.statecontrol:fuchsia.hardware.power.statecontrol_llcpp",
"//sdk/fidl/fuchsia.hardware.pty:fuchsia.hardware.pty_llcpp",
"//sdk/fidl/fuchsia.input.report:fuchsia.input.report_llcpp",
"//sdk/fidl/fuchsia.io:fuchsia.io_llcpp",
"//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_llcpp",
"//sdk/fidl/fuchsia.virtualconsole:fuchsia.virtualconsole_llcpp",
"//sdk/lib/fdio",
"//sdk/lib/stdcompat",
"//sdk/lib/svc",
"//src/lib/fsl",
"//src/lib/listnode",
"//src/lib/storage/vfs/cpp",
"//src/storage/deprecated-fs-fidl-handler",
"//src/ui/input/lib/hid-input-report",
"//src/ui/lib/key_util",
"//zircon/public/lib/fbl",
"//zircon/public/lib/fidl",
"//zircon/public/lib/gfx",
"//zircon/public/lib/gfx-font-data",
"//zircon/public/lib/zircon-internal",
"//zircon/public/lib/zx",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/fdio-caller",
"//zircon/system/ulib/fzl",
"//zircon/system/ulib/hid",
"//zircon/system/ulib/hid-parser",
"//zircon/system/ulib/image-format",
"//zircon/system/ulib/image-format:image-format-llcpp",
"//zircon/system/ulib/service:service-llcpp",
"//zircon/system/ulib/statusor",
"//zircon/system/ulib/svc",
]
}
executable("virtual-console") {
sources = common_sources + [
"main.cc",
"vc-display.cc",
"vc-log.cc",
"session-manager.cc",
]
deps = [
":common",
"//sdk/lib/syslog/cpp",
"//src/sys/lib/stdout-to-debuglog/cpp",
"//zircon/public/lib/zxc",
"//zircon/system/ulib/service:service-llcpp",
]
}
test("vc-display-test") {
defines = [ "BUILD_FOR_DISPLAY_TEST" ]
sources = [
"vc-display-test.cc",
"vc-display.cc",
]
deps = [
":common",
"//zircon/public/lib/zxtest",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
]
}
fuchsia_unittest_component("virtual-console-display-test") {
deps = [ ":vc-display-test" ]
manifest = "meta/virtual-console-display-test.cmx"
}
test("vc-text-test") {
defines = [ "BUILD_FOR_TEST" ]
sources = common_sources + [
"keyboard-test.cc",
"textcon-test.cc",
]
deps = [
":common",
"//zircon/public/lib/zxtest",
]
}
fuchsia_unittest_component("virtual-console-text-test") {
deps = [ ":vc-text-test" ]
}
test("vc-session-manager-test") {
sources = [
"keyboard-vt100.cc",
"session-manager-test.cc",
"session-manager.cc",
"textcon.cc",
"vc-device.cc",
"vc-input.cc",
"vc-log.cc",
]
deps = [
":common",
"//zircon/public/lib/zxc",
"//zircon/public/lib/zxtest",
]
}
fuchsia_unittest_component("virtual-console-session-manager-test") {
deps = [ ":vc-session-manager-test" ]
manifest = "meta/virtual-console-session-manager-test.cmx"
}
test("vc-integration-test") {
sources = [ "vc-integration-test.cc" ]
deps = [
"//sdk/fidl/fuchsia.virtualconsole:fuchsia.virtualconsole_c",
"//sdk/lib/fdio",
"//zircon/public/lib/zx",
"//zircon/public/lib/zxtest",
]
}
fuchsia_unittest_component("virtual-console-integration-test") {
deps = [ ":vc-integration-test" ]
}
test("vc-args-test") {
sources = [
"args-test.cc",
"args.cc",
]
deps = [
":common",
"//sdk/fidl/fuchsia.hardware.pty:fuchsia.hardware.pty_llcpp",
"//zircon/public/lib/zxtest",
"//zircon/system/ulib/async-default",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
"//zircon/system/ulib/fidl-async",
"//zircon/system/ulib/fidl-async:fidl-async-cpp",
"//zircon/system/ulib/mock-boot-arguments",
]
}
fuchsia_unittest_component("virtual-console-args-test") {
deps = [ ":vc-args-test" ]
}
fuchsia_test_package("virtcon-tests") {
test_components = [
":virtual-console-args-test",
":virtual-console-session-manager-test",
":virtual-console-display-test",
":virtual-console-integration-test",
":virtual-console-text-test",
]
}
group("tests") {
testonly = true
deps = [ ":virtcon-tests" ]
}