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