| # Copyright 2016 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/config/clang/clang.gni") |
| import("//build/config/sysroot.gni") |
| import("//build/go/go_test.gni") |
| import("//build/host.gni") |
| import("//build/package.gni") |
| import("//build/fidl/fidl.gni") |
| |
| if (current_toolchain == target_toolchain) { |
| _go_root = "$host_tools_dir/goroot" |
| _bootstrap_goroot = "//buildtools/${host_platform}/go" |
| |
| action("makeroot") { |
| visibility = [ ":makefuchsia" ] |
| |
| inputs = [ "makeroot.go" ] |
| |
| depfile = "$target_gen_dir/$target_name.d" |
| outputs = [ "$target_gen_dir/$target_name.stamp" ] |
| |
| script = rebase_path(_bootstrap_goroot + "/bin/go") |
| args = [ |
| "run", |
| rebase_path("makeroot.go", root_build_dir), |
| "-source-goroot", |
| rebase_path(".", root_build_dir), |
| "-target-goroot", |
| rebase_path(_go_root, root_build_dir), |
| |
| "-depfile", |
| rebase_path(depfile, root_build_dir), |
| "-depfile-root", |
| rebase_path(root_build_dir), |
| "-stamp-file", |
| rebase_path(outputs[0], root_build_dir) |
| ] |
| } |
| |
| action("makefuchsia") { |
| visibility = [ ":go_runtime" ] |
| deps = [":makeroot"] |
| |
| depfile = "$target_gen_dir/$target_name.d" |
| outputs = [ "$target_gen_dir/$target_name.stamp" ] |
| |
| script = rebase_path(_bootstrap_goroot + "/bin/go") |
| args = [ |
| "run", |
| rebase_path("makefuchsia.go", root_build_dir), |
| "-bootstrap-goroot", |
| rebase_path(_bootstrap_goroot), |
| "-goroot", |
| rebase_path(_go_root, root_build_dir), |
| |
| "-depfile", |
| rebase_path(depfile, root_build_dir), |
| "-depfile-root", |
| rebase_path(root_build_dir), |
| "-stamp-file", |
| rebase_path(outputs[0], root_build_dir), |
| ] |
| } |
| } |
| |
| group("go_runtime") { |
| public_deps = [ |
| ":makefuchsia(${target_toolchain})", |
| ] |
| } |
| |
| go_test("go_dispatch_test") { |
| gopackage = "syscall/zx/dispatch" |
| } |
| |
| go_test("go_fidl_test") { |
| gopackage = "syscall/zx/fidl/fidl_test" |
| |
| # TODO(pascallouis): Currently, while we take a dependency, the output of |
| # this FIDL rule is not directly used, rather the generated bindings were |
| # copied and checked in. |
| # |
| # Not being able to depend on automated generation is due to where code is |
| # placed, and how this relates to the tree structure of the toolchain. |
| # Disabling while fidlgen table generation is pending. |
| #deps = [ |
| # "src/syscall/zx/fidl/bindingstest($go_toolchain)", |
| #] |
| } |
| |
| go_test("go_zxwait_test") { |
| gopackage = "syscall/zx/zxwait" |
| } |
| |
| go_test("go_os_test") { |
| gopackage = "os" |
| } |
| |
| go_test("go_net_test") { |
| gopackage = "net" |
| } |
| |
| go_test("go_pprof_test") { |
| gopackage = "runtime/pprof" |
| skip_vet = true |
| } |
| |
| package("go_stdlib_tests") { |
| testonly = true |
| |
| deps = [ |
| ":go_dispatch_test", |
| ":go_os_test", |
| ":go_net_test", |
| ":go_zxwait_test", |
| ":go_pprof_test", |
| ] |
| |
| tests = [ |
| { |
| name = "go_dispatch_test" |
| }, |
| { |
| name = "go_net_test" |
| }, |
| { |
| name = "go_os_test" |
| }, |
| { |
| name = "go_zxwait_test" |
| }, |
| { |
| name = "go_pprof_test" |
| }, |
| ] |
| } |
| |
| package("go_fidl_tests") { |
| testonly = true |
| |
| deps = [ |
| ":go_fidl_test", |
| ] |
| |
| tests = [ |
| { |
| name = "go_fidl_test" |
| }, |
| ] |
| } |