# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS.  All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.

# gn_isolate_map.pyl - A mapping of Ninja build target names to GN labels and
# test type classifications for the tests that are run on the bots.
#
# This file is based on testing/buildbot/gn_isolate_map.pyl for Chromium, but
# is covering WebRTC stand-alone tests instead.
# See https://cs.chromium.org/chromium/src/testing/buildbot/gn_isolate_map.pyl
# for more detailed documentation.

{
  "All": {
    "label": "//:All",
    "type": "additional_compile_target",
  },
  "AppRTCMobileTest": {
    "label": "//webrtc/examples:AppRTCMobileTest",
    "type": "additional_compile_target",
  },
  "AppRTCMobileTestStubbedVideoIO": {
    "label": "//webrtc/examples:AppRTCMobileTestStubbedVideoIO",
    "type": "additional_compile_target",
  },
  "android_junit_tests": {
    "label": "//webrtc:android_junit_tests",
    "type": "junit_test",
  },
  "audio_decoder_unittests": {
    "label": "//webrtc/modules/audio_coding:audio_decoder_unittests",
    "type": "console_test_launcher",
  },
  "common_audio_unittests": {
    "label": "//webrtc/common_audio:common_audio_unittests",
    "type": "console_test_launcher",
  },
  "common_video_unittests": {
    "label": "//webrtc/common_video:common_video_unittests",
    "type": "console_test_launcher",
  },
  "libjingle_peerconnection_android_unittest": {
    "label": "//webrtc/sdk/android:libjingle_peerconnection_android_unittest",
    "type": "additional_compile_target",
  },
  "low_bandwidth_audio_test": {
    "label": "//webrtc/audio:low_bandwidth_audio_test",
    "type": "console_test_launcher",
    "args": [
      "--quick",
    ],
  },
  "modules_tests": {
    "label": "//webrtc/modules:modules_tests",
    "type": "console_test_launcher",
  },
  "modules_unittests": {
    "label": "//webrtc/modules:modules_unittests",
    "type": "windowed_test_launcher",
  },
  "ortc_unittests": {
    "label": "//webrtc/ortc:ortc_unittests",
    "type": "console_test_launcher",
  },
  "peerconnection_unittests": {
    "label": "//webrtc/pc:peerconnection_unittests",
    "type": "console_test_launcher",
  },
  "rtc_media_unittests": {
    "label": "//webrtc/media:rtc_media_unittests",
    "type": "console_test_launcher",
  },
  "rtc_pc_unittests": {
    "label": "//webrtc/pc:rtc_pc_unittests",
    "type": "console_test_launcher",
  },
  "rtc_stats_unittests": {
    "label": "//webrtc/stats:rtc_stats_unittests",
    "type": "console_test_launcher",
  },
  "rtc_unittests": {
    "label": "//webrtc:rtc_unittests",
    "type": "console_test_launcher",
  },
  "system_wrappers_unittests": {
    "label": "//webrtc/system_wrappers:system_wrappers_unittests",
    "type": "console_test_launcher",
  },
  "test_support_unittests": {
    "label": "//webrtc/test:test_support_unittests",
    "type": "console_test_launcher",
  },
  "tools_unittests": {
    "label": "//webrtc/rtc_tools:tools_unittests",
    "type": "console_test_launcher",
  },
  "video_engine_tests": {
    "label": "//webrtc:video_engine_tests",
    "type": "console_test_launcher",
  },
  "voice_engine_unittests": {
    "label": "//webrtc/voice_engine:voice_engine_unittests",
    "type": "console_test_launcher",
  },
  "webrtc_nonparallel_tests": {
    "label": "//webrtc:webrtc_nonparallel_tests",
    "type": "non_parallel_console_test_launcher",
  },
  "webrtc_perf_tests": {
    "label": "//webrtc:webrtc_perf_tests",
    "type": "console_test_launcher",
  },
}
