blob: dd7de4566b7f3fe0d65e2056c641d5e3761b7773 [file]
# Copyright 2022 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/fidl/fidl_ir.gni")
import("//build/fidl/fidl_summary.gni")
# LINT.IfChange(run_compatibility_test)
template("fidl_api_compatibility_test") {
assert(defined(invoker.target_api_level), "target_api_level is required")
assert(defined(invoker.golden), "golden is required")
assert(defined(invoker.current), "current is required")
assert(defined(invoker.policy), "policy is required")
policy = invoker.policy
fidl_api_diff_tool_target = "//build/bazel/host:bazel_root_host_tools.fidl_api_diff.host_tool($host_toolchain)"
fidl_api_diff_tool_path = "$root_build_dir/host-tools/fidl_api_diff"
# Run the test.
action(target_name) {
forward_variables_from(invoker, "*", [ "policy" ])
script = "//sdk/ctf/build/scripts/fidl_api_compatibility_test.py"
depfile = "$target_gen_dir/$target_name.d"
stamp_file = "$target_gen_dir/$target_name.verified"
current_summary = current
golden_summary = golden
inputs = [ "//sdk/ctf/build/scripts/plasa_differ.py" ]
outputs = [ stamp_file ]
args = [
"--depfile",
rebase_path(depfile, root_build_dir),
"--api-level",
"$target_api_level",
"--golden",
rebase_path(golden_summary, root_build_dir),
"--current",
rebase_path(current_summary, root_build_dir),
"--stamp",
rebase_path(stamp_file, root_build_dir),
"--fidl_api_diff_path",
rebase_path(fidl_api_diff_tool_path, root_build_dir),
"--policy",
policy,
]
deps += [ fidl_api_diff_tool_target ]
}
}
# LINT.ThenChange(//build/bazel/rules/fidl/fidl_compatibility_test.bzl:run_compatibility_test)