| # 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", |
| ] |
| } |
| } |