blob: 9dd6a070c391158d1858b4dcb9d78289e4ce1b51 [file] [log] [blame]
# Copyright 2021 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_library.gni")
import("//build/go/go_test.gni")
import("//build/testing/host_test_data.gni")
go_library("goldentest_lib") {
sources = [ "rust_golden_test.go" ]
deps = [ "//third_party/golibs:github.com/google/go-cmp" ]
}
group("tests") {
testonly = true
deps = [
":goldentest_cpp_mock($host_toolchain)",
":goldentest_cpp_nomock($host_toolchain)",
":goldentest_rust_mock($host_toolchain)",
":goldentest_rust_nomock($host_toolchain)",
]
}
# To generate new golden ex: cpp_mock
# fx set core.qemu-x64 --with //examples/components/echo:echo-example --with //tools/testgen/goldentest:tests
# fx build
# ./out/default/host_x64/testgen -l ./out/default/obj/examples/components/routing/echo_server/cml/echo_server_component/echo_server.cm -o tools/testgen/goldentest/cpp_mock -c -m
if (is_host) {
_tools_out = "${target_gen_dir}/goldentest/host_tools"
host_test_data("copy_testgen") {
sources = [ "${host_tools_dir}/testgen" ]
deps = [ "//tools/testgen:host($host_toolchain)" ]
outputs = [ "${_tools_out}/{{source_file_part}}" ]
}
_example_out = "${target_gen_dir}/goldentest/echo"
host_test_data("copy_example_component") {
sources = [ get_label_info(
"//examples/components/routing/echo_server:echo_server_component(${target_toolchain})",
"target_out_dir") +
"/cml/echo_server_component/echo_server.cm" ]
outputs = [ "${_example_out}/{{source_file_part}}" ]
deps = [ "//examples/components/routing/echo_server:echo_server_component(${target_toolchain})" ]
}
_golden_rust_mock_path = "${target_gen_dir}/rust_mock"
host_test_data("golden_rust_mock") {
sources = [
"rust_mock/BUILD.gn.golden",
"rust_mock/meta/echo_server_test.cml.golden",
"rust_mock/src/echo_server_test.rs.golden",
]
outputs = [ "${_golden_rust_mock_path}/{{source_file_part}}" ]
}
_golden_rust_nomock_path = "${target_gen_dir}/rust_nomock"
host_test_data("golden_rust_nomock") {
sources = [
"rust_nomock/BUILD.gn.golden",
"rust_nomock/meta/echo_server_test.cml.golden",
"rust_nomock/src/echo_server_test.rs.golden",
]
outputs = [ "${_golden_rust_nomock_path}/{{source_file_part}}" ]
}
_golden_cpp_nomock_path = "${target_gen_dir}/cpp_nomock"
host_test_data("golden_cpp_nomock") {
sources = [
"cpp_nomock/BUILD.gn.golden",
"cpp_nomock/meta/echo_server_test.cml.golden",
"cpp_nomock/src/echo_server_test.cc.golden",
]
outputs = [ "${_golden_cpp_nomock_path}/{{source_file_part}}" ]
}
_golden_cpp_mock_path = "${target_gen_dir}/cpp_mock"
host_test_data("golden_cpp_mock") {
sources = [
"cpp_mock/BUILD.gn.golden",
"cpp_mock/meta/echo_server_test.cml.golden",
"cpp_mock/src/echo_server_test.cc.golden",
]
outputs = [ "${_golden_cpp_mock_path}/{{source_file_part}}" ]
}
go_test("goldentest_rust_nomock") {
output_name = "goldentest_rust_nomock"
gopackages = [ "go.fuchsia.dev/fuchsia/tools/testgen/goldentest" ]
deps = [ ":goldentest_lib" ]
non_go_deps = [
":copy_example_component",
":copy_testgen",
":golden_rust_nomock",
]
args = [
"--testgen",
rebase_path("${_tools_out}/testgen", root_build_dir),
"--cm",
rebase_path("${_example_out}/echo_server.cm", root_build_dir),
"--golden",
rebase_path(_golden_rust_nomock_path, root_build_dir),
"--language",
"rust",
]
}
go_test("goldentest_rust_mock") {
output_name = "goldentest_rust_mock"
gopackages = [ "go.fuchsia.dev/fuchsia/tools/testgen/goldentest" ]
deps = [ ":goldentest_lib" ]
non_go_deps = [
":copy_example_component",
":copy_testgen",
":golden_rust_mock",
]
args = [
"--testgen",
rebase_path("${_tools_out}/testgen", root_build_dir),
"--cm",
rebase_path("${_example_out}/echo_server.cm", root_build_dir),
"--golden",
rebase_path(_golden_rust_mock_path, root_build_dir),
"--language",
"rust",
"--mock",
]
}
go_test("goldentest_cpp_nomock") {
output_name = "goldentest_cpp_nomock"
gopackages = [ "go.fuchsia.dev/fuchsia/tools/testgen/goldentest" ]
deps = [ ":goldentest_lib" ]
non_go_deps = [
":copy_example_component",
":copy_testgen",
":golden_cpp_nomock",
]
args = [
"--testgen",
rebase_path("${_tools_out}/testgen", root_build_dir),
"--cm",
rebase_path("${_example_out}/echo_server.cm", root_build_dir),
"--golden",
rebase_path(_golden_cpp_nomock_path, root_build_dir),
"--language",
"cpp",
]
}
go_test("goldentest_cpp_mock") {
output_name = "goldentest_cpp_mock"
gopackages = [ "go.fuchsia.dev/fuchsia/tools/testgen/goldentest" ]
deps = [ ":goldentest_lib" ]
non_go_deps = [
":copy_example_component",
":copy_testgen",
":golden_cpp_mock",
]
args = [
"--testgen",
rebase_path("${_tools_out}/testgen", root_build_dir),
"--cm",
rebase_path("${_example_out}/echo_server.cm", root_build_dir),
"--golden",
rebase_path(_golden_cpp_mock_path, root_build_dir),
"--language",
"cpp",
"--mock",
]
}
}