| # 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/dart/test.gni") |
| import("//build/host.gni") |
| import("//build/python/python_host_test.gni") |
| import("//build/testing/host_test_data.gni") |
| |
| # TODO(omerlevran): Find a cleaner way to this by properly structuring the deps |
| # between the rules. Please try to avoid using this pattern. |
| _shared_out_dir = get_label_info(":bogus(${target_toolchain})", "root_out_dir") |
| |
| dart_test("package_manager_test") { |
| sources = [ "package_manager_test.dart" ] |
| |
| deps = [ |
| "//sdk/testing/sl4f/client", |
| "//src/tests/end_to_end/package_manager/util/pkg:pkg", |
| "//src/tests/end_to_end/package_manager/util/pm:pm", |
| "//third_party/dart-pkg/pub/archive", |
| "//third_party/dart-pkg/pub/logging", |
| "//third_party/dart-pkg/pub/path", |
| "//third_party/dart-pkg/pub/quiver", |
| "//third_party/dart-pkg/pub/retry", |
| "//third_party/dart-pkg/pub/test", |
| ] |
| |
| non_dart_deps = [ ":runtime_deps($host_toolchain)" ] |
| args = [ "--data-dir=" + rebase_path(_shared_out_dir, root_build_dir) ] |
| |
| # Runs on "main" builders (try and ci) in QEMU environments, but only on x64, |
| # as we don't currently support Dart on arm64 hosts. |
| environments = [] |
| if (is_host && target_cpu == "x64") { |
| environments = [ emu_env ] |
| } |
| } |
| |
| if (is_host) { |
| action("pm_test_package_gather_deps") { |
| metadata = { |
| package_barrier = [] |
| } |
| |
| testonly = true |
| |
| _package_json = "$_shared_out_dir/obj/src/tests/end_to_end/package_manager/components/package-manager-sample-pkg/package_manifest.json" |
| _meta_far = "$_shared_out_dir/obj/src/tests/end_to_end/package_manager/components/package-manager-sample-pkg/meta.far" |
| inputs = [ |
| _package_json, |
| _meta_far, |
| ] |
| |
| script = "gather_package_deps.py" |
| |
| _output_tar = "$target_gen_dir/pm_deps/package.tar" |
| outputs = [ _output_tar ] |
| |
| depfile = "${_output_tar}.d" |
| |
| deps = [ "components:package-manager-sample-pkg($default_toolchain)" ] |
| |
| args = [ |
| "--package_json", |
| rebase_path(_package_json, root_build_dir), |
| "--meta_far", |
| rebase_path(_meta_far, root_build_dir), |
| "--output_tar", |
| rebase_path(_output_tar, root_build_dir), |
| "--depfile", |
| rebase_path(depfile, root_build_dir), |
| ] |
| } |
| |
| host_test_data("runtime_deps") { |
| sources = [ |
| "$host_tools_dir/pm", |
| "$target_gen_dir/pm_deps/package.tar", |
| ] |
| outputs = [ "$target_gen_dir/runtime_deps/{{source_file_part}}" ] |
| deps = [ |
| ":pm_test_package_gather_deps($host_toolchain)", |
| "//src/sys/pkg/bin/pm:host($host_toolchain)", |
| ] |
| } |
| |
| python_host_test("gather_package_deps_test") { |
| main_source = "gather_package_deps_test.py" |
| sources = [ "gather_package_deps.py" ] |
| } |
| } |
| |
| group("tests") { |
| testonly = true |
| |
| deps = [ |
| ":gather_package_deps_test($host_toolchain)", |
| ":package_manager_test($host_toolchain)", |
| ] |
| } |