blob: 493f755719816908c227ed22191c6efed1f355fc [file] [log] [blame]
# Copyright 2020 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/go/go_binary.gni")
import("//build/go/go_library.gni")
import("//build/go/go_test.gni")
import("//build/host.gni")
go_library("lib") {
deps = [
"//third_party/golibs:github.com/golang/glog",
"//third_party/golibs:github.com/google/go-cmp",
"//third_party/golibs:github.com/pkg/sftp",
"//third_party/golibs:golang.org/x/crypto",
"//tools/qemu",
]
sources = [
"api.go",
"api_test.go",
"build.go",
"build_mock_test.go",
"build_test.go",
"command.go",
"command_mock_test.go",
"connector.go",
"connector_mock_test.go",
"connector_test.go",
"e2e_test.go",
"ffx_command.go",
"ffx_fuzz_fake_test.go",
"fs_interface.go",
"fuzzer.go",
"fuzzer_test.go",
"handle.go",
"handle_test.go",
"instance.go",
"instance_test.go",
"launcher.go",
"launcher_mock_test.go",
"launcher_test.go",
"process.go",
"process_test.go",
"ssh_fake_test.go",
"test_utils_test.go",
"utils.go",
"utils_test.go",
]
}
# This tool can only be built on the host.
# Also, only the Linux build is used by ClusterFuzz, so others are disabled to
# work around a flake on macOS (see https://fxbug.dev/42159431).
if (is_linux) {
go_library("main") {
source_dir = "cmd"
deps = [ ":lib" ]
sources = [ "fuzz.go" ]
}
go_binary("undercoat") {
library = ":main"
}
install_host_tools("undercoat_tool") {
deps = [ ":undercoat" ]
outputs = [ "undercoat" ]
}
go_test("undercoat_tests") {
library = ":lib"
}
}
group("host_tests") {
visibility = [ ":*" ]
testonly = true
# Tests that shouldn't be built on macOS (https://fxbug.dev/42159431)
if (is_linux) {
deps = [ ":undercoat_tests" ]
}
}
group("host_tools") {
# The tool shouldn't be built on macOS (https://fxbug.dev/42159431)
if (is_linux) {
deps = [ ":undercoat_tool" ]
}
}
group("tests") {
testonly = true
deps = [ ":host_tests($host_toolchain)" ]
}
group("fuzz") {
deps = [ ":host_tools($host_toolchain)" ]
}