| # 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/dart/dart_tool.gni") | 
 | import("//build/dart/test.gni") | 
 | import("//build/testing/host_test_data.gni") | 
 |  | 
 | group("tests") { | 
 |   testonly = true | 
 |  | 
 |   deps = [ | 
 |     ":fxtest_tests($host_toolchain)", | 
 |     ":test_runner_test($host_toolchain)", | 
 |   ] | 
 | } | 
 |  | 
 | ## Production code | 
 |  | 
 | # Main executable target. | 
 | dart_tool("fxtest") { | 
 |   package_name = "fxtest" | 
 |   main_dart = "bin/main.dart" | 
 |  | 
 |   deps = [ ":fxtest_lib" ] | 
 | } | 
 |  | 
 | # Library containing all production (non-test) code. | 
 | # | 
 | # Using a separate library lets us avoid using the implicit dart_library | 
 | # generated by dart_tool. Until dart_tool formally makes the generated | 
 | # dart_library part of its documented contract, using this explicit library | 
 | # prevents unexpected changes in dart_tool. | 
 | # | 
 | # Using dart_library separately also keeps sources_required on, which helps | 
 | # to prevent Dart files being added to the tree but not to sources. | 
 | dart_library("fxtest_lib") { | 
 |   package_name = "fxtest" | 
 |  | 
 |   sources = [ | 
 |     "analytics_reporter.dart", | 
 |     "arg_parser.dart", | 
 |     "checklist.dart", | 
 |     "cmd.dart", | 
 |     "cmd_cli.dart", | 
 |     "command_tokens.dart", | 
 |     "constants.dart", | 
 |     "exceptions.dart", | 
 |     "execution_handle.dart", | 
 |     "exit_code.dart", | 
 |     "fxtest.dart", | 
 |     "matching/comparer.dart", | 
 |     "matching/comparison_result.dart", | 
 |     "matching/matching.dart", | 
 |     "matching/single_test_matcher.dart", | 
 |     "matching/test_attribute_matching.dart", | 
 |     "output/output.dart", | 
 |     "output/output_buffer.dart", | 
 |     "output/output_formatter.dart", | 
 |     "package_repository.dart", | 
 |     "package_url.dart", | 
 |     "rebuilder.dart", | 
 |     "test_arguments.dart", | 
 |     "test_bundle.dart", | 
 |     "test_definition.dart", | 
 |     "test_event.dart", | 
 |     "test_names_collector.dart", | 
 |     "test_runner.dart", | 
 |     "tests_config.dart", | 
 |     "tests_manifest_reader.dart", | 
 |     "utils.dart", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     "//scripts/fxutils", | 
 |     "//third_party/dart-pkg/pub/args", | 
 |     "//third_party/dart-pkg/pub/async", | 
 |     "//third_party/dart-pkg/pub/edit_distance", | 
 |     "//third_party/dart-pkg/pub/io", | 
 |     "//third_party/dart-pkg/pub/meta", | 
 |     "//third_party/dart-pkg/pub/path", | 
 |     "//third_party/dart-pkg/pub/pedantic", | 
 |   ] | 
 | } | 
 |  | 
 | ## Tests | 
 |  | 
 | dart_test("test_runner_test") { | 
 |   sources = [ "test_runner_test.dart" ] | 
 |  | 
 |   deps = [ | 
 |     ":fxtest_lib", | 
 |     "//scripts/fxutils", | 
 |     "//third_party/dart-pkg/pub/pedantic", | 
 |     "//third_party/dart-pkg/pub/test", | 
 |   ] | 
 | } | 
 |  | 
 | dart_test("fxtest_tests") { | 
 |   sources = [ | 
 |     "args_test.dart", | 
 |     "helper_test.dart", | 
 |     "output_formatter_test.dart", | 
 |     "output_test.dart", | 
 |     "package_repository_test.dart", | 
 |     "parsing_test.dart", | 
 |     "process_output_test.dart", | 
 |     "setup_test.dart", | 
 |     "test_bundle_test.dart", | 
 |     "utils_test.dart", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     ":fxtest_lib", | 
 |     "//scripts/fxutils", | 
 |     "//third_party/dart-pkg/pub/args", | 
 |     "//third_party/dart-pkg/pub/async", | 
 |     "//third_party/dart-pkg/pub/io", | 
 |     "//third_party/dart-pkg/pub/meta", | 
 |     "//third_party/dart-pkg/pub/mockito", | 
 |     "//third_party/dart-pkg/pub/test", | 
 |   ] | 
 | } |