blob: ea40662e5002e353bbd8e95c21d52ca6152ce789 [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/host.gni")
import("//build/testing/golden_files.gni")
import("//src/tests/fidl/conformance_suite/gidl-conformance-suite.gni")
import(
"//third_party/go/src/syscall/zx/fidl/fidl_test/conformance_test_files.gni")
import("//tools/fidl/gidl/gidl.gni")
install_host_tools("host") {
deps = [
"cmd/gidl",
"cmd/gidl_audit",
]
outputs = [
"gidl",
"gidl_audit",
]
}
conformance_golden_items = [
{
language = "go"
extension = "go"
},
{
language = "cpp"
extension = "cc"
},
{
language = "hlcpp"
extension = "cc"
},
{
language = "llcpp"
extension = "cc"
},
{
language = "rust"
extension = "rs"
},
{
language = "dynfidl"
extension = "rs"
},
{
language = "rust_codec"
extension = "rs"
},
]
foreach(item, conformance_golden_items) {
gidl("${item.language}_goldens") {
type = "conformance"
language = item.language
inputs = conformance_suite_golden_gidl_files
fidl = conformance_suite_fidl_target
output = "$target_gen_dir/${item.language}_golden.${item.extension}"
}
}
golden_files("gidl_golden_tests") {
testonly = true
deps = []
comparisons = []
foreach(item, conformance_golden_items) {
deps += [ ":${item.language}_goldens" ]
comparisons += [
{
golden = "goldens/${item.language}_golden.${item.extension}.golden"
candidate = "$target_gen_dir/${item.language}_golden.${item.extension}"
},
]
}
}
group("tests") {
testonly = true
deps = [
":gidl_golden_tests",
"backend/golang:gidl_golang_tests($host_toolchain)",
"empty_test:tests",
"lib/mixer:gidl_mixer_tests($host_toolchain)",
"lib/parser:gidl_parser_tests($host_toolchain)",
]
}