blob: 42614af84239b91d89de5bcedeb3f712c2632dfe [file] [log] [blame]
# Copyright 2019 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/compiled_action.gni")
template("fidl_ir") {
assert(defined(invoker.sources), "A FIDL library requires some sources.")
assert(defined(invoker.output), "FIDL library IR needs to go somewhere.")
assert(defined(invoker.name), "A FIDL library requires a name.")
json_ir = invoker.output
compiled_action(target_name) {
tool = "//tools/fidl/fidlc:fidlc"
inputs = invoker.sources
outputs = [ json_ir ]
args = [
"--json",
rebase_path(json_ir, root_build_dir),
"--name",
invoker.name,
"--files",
rebase_path("//zircon/vdso/zx_common.fidl"),
"--files",
] + rebase_path(invoker.sources, root_build_dir)
}
}
group("tests") {
deps = [
":after",
":before",
":run_difl_test",
]
}
action("run_difl_test") {
script = "run_difl_test.sh"
deps = [
":after",
":before",
]
before_ir = target_gen_dir + "/before.fidl.json"
after_ir = target_gen_dir + "/after.fidl.json"
stamp = target_gen_dir + "/run_difl_test.stamp"
sources = [
after_ir,
before_ir,
]
inputs = [
"../__init__.py",
"../__main__.py",
"../abi.py",
"../changes.py",
"../comparator.py",
"../enums.py",
"../intersection.py",
"../ir.py",
"../library.py",
"../protocol.py",
"../struct.py",
"../table.py",
"../test.py",
"../text_output.py",
"../tricium_output.py",
]
outputs = [ stamp ]
args = [
"--build-dir",
rebase_path(root_build_dir),
"--before",
rebase_path(before_ir),
"--after",
rebase_path(after_ir),
"--stamp",
rebase_path(stamp),
]
}
fidl_ir("before") {
name = "fidl.difl.test"
output = target_gen_dir + "/before.fidl.json"
sources = [
"before/protocol.test.fidl",
"before/struct.test.fidl",
"before/table.test.fidl",
"before/types.test.fidl",
]
}
fidl_ir("after") {
name = "fidl.difl.test"
output = target_gen_dir + "/after.fidl.json"
sources = [
"after/protocol.test.fidl",
"after/struct.test.fidl",
"after/table.test.fidl",
"after/types.test.fidl",
]
}