| # 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/package.gni") | |
| import("//build/test.gni") | |
| import("//build/test/test_package.gni") | |
| group("tests") { | |
| testonly = true | |
| public_deps = [ ":cmd_tests" ] | |
| } | |
| source_set("lib") { | |
| sources = [ | |
| "app.cc", | |
| "app.h", | |
| "autocomplete.cc", | |
| "autocomplete.h", | |
| "command.cc", | |
| "command.h", | |
| "console.cc", | |
| "console.h", | |
| "executor.cc", | |
| "executor.h", | |
| "tasks/cd_task.cc", | |
| "tasks/cd_task.h", | |
| "tasks/getenv_task.cc", | |
| "tasks/getenv_task.h", | |
| "tasks/process_task.cc", | |
| "tasks/process_task.h", | |
| "tasks/quit_task.cc", | |
| "tasks/quit_task.h", | |
| "tasks/setenv_task.cc", | |
| "tasks/setenv_task.h", | |
| "tasks/synchronous_task.cc", | |
| "tasks/synchronous_task.h", | |
| "tasks/task.cc", | |
| "tasks/task.h", | |
| "tasks/unsetenv_task.cc", | |
| "tasks/unsetenv_task.h", | |
| ] | |
| public_deps = [ | |
| "//sdk/fidl/fuchsia.hardware.pty:fuchsia.hardware.pty_c", | |
| "//src/developer/cmd/legacy", | |
| "//src/lib/fsl", | |
| "//src/lib/line_input", | |
| "//zircon/public/lib/async-cpp", | |
| "//zircon/public/lib/fit", | |
| "//zircon/public/lib/zircon-internal", | |
| "//zircon/public/lib/zx", | |
| "//zircon/system/ulib/cmdline", | |
| ] | |
| # TODO(fxbug.dev/58162): delete the below and fix compiler warnings | |
| configs += [ "//build/config:Wno-conversion" ] | |
| } | |
| executable("bin") { | |
| output_name = "cmd" | |
| sources = [ "main.cc" ] | |
| deps = [ | |
| ":lib", | |
| "//zircon/system/ulib/async-loop:async-loop-cpp", | |
| ] | |
| } | |
| executable("cmd_unittests") { | |
| testonly = true | |
| sources = [ | |
| "app_unittest.cc", | |
| "autocomplete_unittest.cc", | |
| "command_unittest.cc", | |
| "console_unittest.cc", | |
| "executor_unittest.cc", | |
| "tasks/cd_task_unittest.cc", | |
| "tasks/getenv_task_unittest.cc", | |
| "tasks/process_task_unittest.cc", | |
| "tasks/quit_task_unittest.cc", | |
| "tasks/setenv_task_unittest.cc", | |
| "tasks/synchronous_task_unittest.cc", | |
| "tasks/unsetenv_task_unittest.cc", | |
| ] | |
| deps = [ | |
| ":lib", | |
| "//sdk/lib/fdio", | |
| "//src/lib/fxl/test:gtest_main", | |
| "//src/lib/testing/loop_fixture", | |
| "//third_party/googletest:gmock", | |
| "//third_party/googletest:gtest", | |
| "//zircon/public/lib/fbl", | |
| "//zircon/public/lib/zx", | |
| ] | |
| # TODO(fxbug.dev/46549): Fix the leaks and remove this. | |
| deps += [ "//build/config/sanitizers:suppress-lsan.DO-NOT-USE-THIS" ] | |
| } | |
| package("cmd") { | |
| deps = [ ":bin" ] | |
| binaries = [ | |
| { | |
| name = "cmd" | |
| shell = true | |
| }, | |
| ] | |
| } | |
| test_package("cmd_tests") { | |
| deps = [ | |
| ":cmd_unittests", | |
| "testing:trivial_success", | |
| ] | |
| binaries = [ | |
| { | |
| name = "trivial_success" | |
| }, | |
| ] | |
| tests = [ | |
| { | |
| name = "cmd_unittests" | |
| environments = basic_envs | |
| }, | |
| ] | |
| } |