# Copyright (c) 2013 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.

{
  'conditions': [
    ['OS=="android"', {
      # When doing Android builds, the WebRTC code is put in third_party/webrtc
      # of a Chromium checkout, this is one level above the standalone build.
      'variables': {
        'isolate_dependency_untracked': [
          '../../../../resources/',
          '../../../../data/',
        ],
      },
    }],
    ['OS=="linux" or OS=="mac" or OS=="win"', {
      'variables': {
        'command': [
          '../../../testing/test_env.py',
          '../../../tools/swarm_client/googletest/run_test_cases.py',
          '<(PRODUCT_DIR)/system_wrappers_unittests<(EXECUTABLE_SUFFIX)',
        ],
        'isolate_dependency_tracked': [
          '../../../testing/test_env.py',
          '../../../tools/swarm_client/run_isolated.py',
          '../../../tools/swarm_client/googletest/run_test_cases.py',
          '<(PRODUCT_DIR)/system_wrappers_unittests<(EXECUTABLE_SUFFIX)',
        ],
      },
    }],
  ],
}
