chromium/third_party/blink/tools/BUILD.gn

# Copyright 2019 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# WPT codebase for running webplatform tests
group("wpt_tests_isolate") {
  testonly = true
  data = [
    # Include the test runner.
    "//third_party/blink/tools/run_wpt_tests.py",

    # WPT tooling
    "//third_party/wpt_tools/",

    # Include blinkpy tools for uploading results to ResultDB.
    "//third_party/blink/tools/blinkpy/",

    # The web_tests/external directory contains manifest file and public WPTs.
    "//third_party/blink/web_tests/external/",

    # The web_tests/wpt_internal directory contains internal WPTs
    "//third_party/blink/web_tests/wpt_internal/",

    # Configuration files
    "//third_party/blink/web_tests/wptrunner.blink.ini",
    "//third_party/blink/web_tests/FlagSpecificConfig",
    "//third_party/blink/web_tests/VirtualTestSuites",
    "//third_party/blink/web_tests/TestLists/",

    # exception reporting protos
    "//build/util/lib/proto",

    # Include the root vpython spec.
    "//.vpython3",
  ]
  data_deps = [
    "//testing:test_scripts_shared",
    "//third_party/catapult/third_party/typ:typ",
    "//tools/imagediff",
  ]
  if (!is_ios) {
    data_deps += [ ":wpt_tests_mojo_bindings" ]
  }
  if (is_win) {
    data_deps += [ "//build/win:copy_cdb_to_output" ]
  }
}

if (is_android) {
  group("wpt_tests_android_isolate") {
    testonly = true
    data = [
      # Emulator
      "//build/android/pylib/",

      # Android-specific expectations
      "//third_party/blink/web_tests/android/AndroidWPTNeverFixTests",
      "//third_party/blink/web_tests/android/WPTSmokeTestCases",
    ]
    data_deps = [
      ":wpt_tests_isolate",
      "//build/android:devil_chromium_py",
      "//build/android:test_runner_py",
      "//third_party/catapult/devil:devil",
    ]
  }
}

if (!is_ios) {
  group("wpt_tests_base_mojo_bindings") {
    testonly = true
    data_deps = [
      "//:layout_test_data_mojo_bindings",
      "//:layout_test_data_mojo_bindings_lite",
      "//content/test:mojo_bindings_web_test_mojom_js_data_deps",
      "//content/test:mojo_web_test_bindings_js_data_deps",
      "//mojo/public/interfaces/bindings/tests:test_data_deps",
      "//mojo/public/js/ts/bindings/tests:test_interfaces_js_data_deps",
      "//mojo/public/mojom/base:base_js_data_deps",
    ]
  }
}

if (!is_ios) {
  group("wpt_tests_mojo_bindings") {
    testonly = true
    data_deps = [
      ":wpt_tests_base_mojo_bindings",
      "//device/bluetooth/public/mojom:fake_bluetooth_interfaces_js_data_deps",
      "//device/vr/public/mojom:vr_service_js_data_deps",
      "//media/capture/mojom:image_capture_js_data_deps",
      "//media/midi:mojo_js_data_deps",
      "//services/device/public/mojom:generic_sensor_js_data_deps",
      "//services/device/public/mojom:mojom_js_data_deps",
      "//services/device/public/mojom:usb_js_data_deps",
      "//services/shape_detection/public/mojom:mojom_js_data_deps",
      "//skia/public/mojom:mojom_js_data_deps",
      "//third_party/blink/public/mojom:mojom_platform_js_data_deps",
    ]
  }
}

group("blink_pytype") {
  testonly = true

  data = [
    "//third_party/blink/tools/run_pytype.py",

    "//testing/unexpected_passes_common/",
    "//third_party/blink/tools/blinkpy/web_tests/stale_expectation_removal/",
  ]

  data_deps = [ "//testing:pytype_dependencies" ]
}