# 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_library.gni")
import("//build/dart/test.gni")
import("//build/testing/environments.gni")
import("//build/testing/host_test_data.gni")

# This directory contains Dart wrappers for running performance tests
# that are defined elsewhere in the Fuchsia tree.
#
# The test wrappers in this directory are split into multiple test
# executables (dart_test targets here) because the Fuchsia Infra tools
# for retrying tests and tracking flakes operate on the granularity of
# test executables.

test_list = [
  "archivist_benchmarks_test",
  "audio_mixer_profiler_test",
  "dart_inspect_benchmarks_test",
  "diagnostics_benchmarks_test",
  "fidlc_microbenchmarks_test",
  "flatland_benchmarks_test",
  "input_latency_benchmarks_test",
  "kernel_boot_stats_test",
  "microbenchmarks_test",
  "netstack_benchmarks_test",
  "netstack3_benchmarks_test",
  "network_device_microbenchmarks_test",
  "perftest_trace_events_test",
  "storage_benchmarks_test",
  "rust_inspect_benchmarks_test",
  "rust_inspect_reader_benchmarks_test",
]
foreach(target_name, test_list) {
  dart_test(target_name) {
    sources = [
      "$target_name.dart",
      "helpers.dart",
      "summarize.dart",
    ]

    deps = [
      "//sdk/testing/sl4f/client",
      "//third_party/dart-pkg/pub/args",
      "//third_party/dart-pkg/pub/logging",
      "//third_party/dart-pkg/pub/meta",
      "//third_party/dart-pkg/pub/test",
      "//third_party/dart-pkg/pub/tuple",
    ]

    non_dart_deps = [ ":runtime_deps($host_toolchain)" ]

    environments = [
      atlas_env,
      nuc_env,
      vim3_env,
    ]

    # TODO(fxbug.dev/51799): Enable for all tests.
    if (target_name == "kernel_boot_stats_test" ||
        target_name == "audio_mixer_profiler_test") {
      environments += [
        astro_env,
        sherlock_env,
      ]
    }
  }
}

dart_test("summarize_perf_results_test") {
  sources = [
    "summarize.dart",
    "summarize_test.dart",
  ]

  deps = [
    "//sdk/testing/sl4f/client",
    "//third_party/dart-pkg/pub/args",
    "//third_party/dart-pkg/pub/logging",
    "//third_party/dart-pkg/pub/meta",
    "//third_party/dart-pkg/pub/test",
    "//third_party/dart-pkg/pub/tuple",
  ]

  non_dart_deps = [ ":runtime_deps($host_toolchain)" ]
}
test_list += [ "summarize_perf_results_test" ]

flutter_test_list = [
  # fxbug.dev/60742
  # "button_flutter_benchmarks_test",

  # fxbug.dev/56644
  # "clockface_flutter_benchmarks_test",

  # fxbug.dev/59483
  # "scroll_flutter_benchmarks_test",
]
foreach(target_name, flutter_test_list) {
  dart_test(target_name) {
    sources = [ "flutter/$target_name.dart" ]

    deps = [
      "//sdk/testing/sl4f/client",
      "//sdk/testing/sl4f/flutter_driver_sl4f",
      "//third_party/dart-pkg/pub/test",
    ]

    non_dart_deps = [ ":runtime_deps($host_toolchain)" ]

    environments = [
      atlas_env,
      nuc_env,
    ]
  }
}

# Split the following tests into shards so that each shard fits
# within the default time limit.
shards = [
  "0",
  "1",
  "2",
  "3",
  "4",
  "5",
  "6",
  "7",
  "8",
  "9",
  "10",
]
total_shards = "11"
shard_test_list = [
  "fidl_microbenchmarks_test",
  "netstack_iperf_test",
]
foreach(test, shard_test_list) {
  foreach(shard, shards) {
    target_name = test + "_shard_" + shard
    dart_test(target_name) {
      sources = [
        test + ".dart",
        "helpers.dart",
        "summarize.dart",
      ]

      args = [
        "--total-shards=" + total_shards,
        "--shard-index=" + shard,
      ]

      deps = [
        "//sdk/testing/sl4f/client",
        "//third_party/dart-pkg/pub/args",
        "//third_party/dart-pkg/pub/logging",
        "//third_party/dart-pkg/pub/meta",
        "//third_party/dart-pkg/pub/test",
        "//third_party/dart-pkg/pub/tuple",
      ]

      non_dart_deps = [ ":runtime_deps($host_toolchain)" ]

      environments = [
        # TODO(fxb/88635): netstack_iperf fails on altas_env
        # atlas_env,
        nuc_env,
        vim3_env,
      ]
    }
    test_list += [ target_name ]
  }
}

if (is_host) {
  host_test_data("runtime_deps") {
    sources = [
      "$root_out_dir/catapult_converter",
      "$root_out_dir/trace2json",
    ]
    outputs = [ "$target_gen_dir/runtime_deps/{{source_file_part}}" ]

    deps = [
      "//src/developer/trace2json:bin",
      "//src/testing/catapult_converter:converter_bin",
    ]

    # TODO(fxbug.dev/48350): Enable host build for non-linux hosts as well.
    if (host_os == "linux") {
      sources += [ "$root_out_dir/iperf3" ]
      deps += [ "//third_party/iperf:bin" ]
    }
  }
}

group("package_deps") {
  testonly = true
  public_deps = [
    "//src/diagnostics:benchmarks",
    "//src/lib/diagnostics:benchmarks",
    "//src/media/audio/audio_core/mixer/tools:audio_mixer_profiler",
    "//src/tests/benchmarks:kernel-boot-benchmarks",
    "//src/tests/benchmarks/fidl:benchmarks",
    "//src/tests/microbenchmarks:fuchsia_microbenchmarks_perftestmode",

    # Many tests use sl4f to communicate with the target.
    "//src/testing/sl4f",

    # These are used by netstack benchmarks.
    "//src/connectivity/network/netstack3:netstack3_benchmarks",
    "//src/connectivity/network/tests/benchmarks",
    "//third_party/iperf",

    # Used by network device benchmarks.
    "//src/connectivity/network/drivers/network-device/device:network-device-microbenchmarks",

    # These are used by flatland_benchmarks.
    "//src/ui/examples:flatland-examples",

    # These are used by input_latency_benchmarks.
    "//src/sys/activity",
    "//src/ui/bin/input-pipeline",
    "//src/ui/examples/simplest_app",
    "//src/ui/examples/yuv_to_image_pipe",
    "//src/ui/tools:present_view",

    # These are used by the flutter benchmarks.
    "//src/experiences/benchmarks/bin/button_flutter:button_flutter",
    "//src/experiences/benchmarks/bin/clockface_flutter:clockface-flutter",
    "//src/experiences/benchmarks/bin/scroll_flutter:scroll-flutter",

    # These are used by storage_benchmarks_test
    "//src/storage/bin/start-storage-benchmark:start-storage-benchmark",
  ]
}

group("test") {
  testonly = true

  deps = [ ":package_deps" ]

  foreach(target_name, test_list) {
    deps += [ ":$target_name($host_toolchain)" ]
  }

  foreach(target_name, flutter_test_list) {
    deps += [ ":$target_name($host_toolchain)" ]
  }
}

group("touch_input_test") {
  testonly = true

  deps = [
    ":touch_input_latency_benchmarks_test($host_toolchain)",
    "//src/testing/sl4f",
    "//src/ui/tests/integration_input_tests/touch:tests",
  ]
}

# Runs the benchmark for touch latency
dart_test("touch_input_latency_benchmarks_test") {
  sources = [
    "helpers.dart",
    "summarize.dart",
    "touch_input_latency_benchmarks_test.dart",
  ]

  deps = [
    "//sdk/testing/sl4f/client",
    "//third_party/dart-pkg/pub/args",
    "//third_party/dart-pkg/pub/logging",
    "//third_party/dart-pkg/pub/meta",
    "//third_party/dart-pkg/pub/test",
    "//third_party/dart-pkg/pub/tuple",
  ]

  non_dart_deps = [ ":runtime_deps($host_toolchain)" ]

  environments = [
    atlas_env,
    nuc_env,
  ]
}

# Unit tests of processing logic
group("tests") {
  testonly = true
  deps = [
    ":flutter_startup_time_metric_test($host_toolchain)",
    ":touch_input_latency_metric_test($host_toolchain)",
  ]
}

dart_test("touch_input_latency_metric_test") {
  sources = [
    "helpers.dart",
    "summarize.dart",
    "touch_input_latency_metric_test.dart",
  ]

  deps = [
    "//sdk/testing/sl4f/client",
    "//third_party/dart-pkg/pub/args",
    "//third_party/dart-pkg/pub/logging",
    "//third_party/dart-pkg/pub/meta",
    "//third_party/dart-pkg/pub/test",
    "//third_party/dart-pkg/pub/tuple",
  ]
}

dart_test("flutter_startup_time_metric_test") {
  sources = [
    "flutter/flutter_startup_time_metric_test.dart",
    "flutter/helpers.dart",
    "helpers.dart",
    "summarize.dart",
  ]

  deps = [
    "//sdk/testing/sl4f/client",
    "//sdk/testing/sl4f/flutter_driver_sl4f",
    "//third_party/dart-pkg/git/flutter/packages/flutter_driver",
    "//third_party/dart-pkg/pub/args",
    "//third_party/dart-pkg/pub/logging",
    "//third_party/dart-pkg/pub/meta",
    "//third_party/dart-pkg/pub/test",
    "//third_party/dart-pkg/pub/tuple",
  ]
}
