# 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=="linux" or OS=="mac" or OS=="win"', {
      'variables': {
        'command': [
          '../../testing/test_env.py',
          '../../tools/swarm_client/googletest/run_test_cases.py',
          '<(PRODUCT_DIR)/tools_unittests<(EXECUTABLE_SUFFIX)',
        ],
        'isolate_dependency_tracked': [
          '../../DEPS',
          '../../resources/foreman_cif.yuv',
          '../../testing/test_env.py',
          '../../tools/swarm_client/run_isolated.py',
          '../../tools/swarm_client/googletest/run_test_cases.py',
          '../../tools/swarm_client/third_party/upload.py',
          '<(PRODUCT_DIR)/tools_unittests<(EXECUTABLE_SUFFIX)',
        ],
      },
    }],
  ],
}
