blob: 75f4c9ddc3314018e8835a062cc51f0c57965a7b [file] [log] [blame]
# Copyright 2018 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/package.gni")
import("//build/persist_logs.gni")
import("//build/rust/rustc_binary.gni")
import("//build/test/test_package.gni")
import("//build/testing/environments.gni")
declare_args() {
# Controls how many bytes of space on disk are used to persist device logs.
# Should be a string value that only contains digits.
max_log_disk_usage = "0"
log_startup_sleep = "30000"
}
rustc_binary("bin") {
name = "log_listener"
with_unit_tests = true
edition = "2018"
deps = [
"//sdk/fidl/fuchsia.diagnostics:fuchsia.diagnostics-rustc",
"//sdk/fidl/fuchsia.logger:fuchsia.logger-rustc",
"//src/diagnostics/lib/selectors",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-runtime",
"//src/lib/syslog/rust:syslog-listener",
"//src/lib/zircon/rust:fuchsia-zircon",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:chrono",
"//third_party/rust_crates:regex",
"//third_party/rust_crates:tempfile",
"//third_party/rust_crates:thiserror",
]
sources = [ "src/main.rs" ]
}
package("log_listener_shell") {
deps = [
":bin",
"//build/validate:non_production_tag",
]
binaries = [
{
name = "log_listener"
dest = "log_listener"
shell = true
},
]
}
package("log_listener") {
deps = [ ":bin" ]
binaries = [
{
name = "log_listener"
},
]
meta = [
{
path = rebase_path("meta/log_listener.cmx")
dest = "log_listener.cmx"
},
]
if (persist_logs) {
data_deps = [ ":all_logs" ]
}
}
executable("log_listener_return_code_test") {
testonly = true
sources = [ "log_listener_return_code_test.cc" ]
deps = [
"//sdk/lib/fdio",
"//src/lib/files",
"//src/lib/fxl/test:gtest_main",
"//src/zircon/lib/zircon",
]
}
test_package("log_listener_tests") {
deps = [
":bin",
":bin_test",
":log_listener_return_code_test",
]
binaries = [
{
name = "log_listener"
},
]
tests = [
{
name = "log_listener_bin_test"
environments = basic_envs
},
{
name = "log_listener_return_code_test"
environments = basic_envs
},
]
}
if (persist_logs) {
persist_logs("all_logs") {
max_disk_usage = max_log_disk_usage
startup_sleep = log_startup_sleep
}
}