# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
  'conditions': [
    ['OS=="linux"', {
      'variables': {
        'command': [
          '../testing/xvfb.py',
          '<(PRODUCT_DIR)',
          '../tools/swarm_client/googletest/run_test_cases.py',
          '--use-less-jobs',
          '<(PRODUCT_DIR)/browser_tests<(EXECUTABLE_SUFFIX)',
        ],
        'isolate_dependency_tracked': [
          '../testing/xvfb.py',
          '<(PRODUCT_DIR)/chrome<(EXECUTABLE_SUFFIX)',
          '<(PRODUCT_DIR)/libclearkeycdm.so',
          '<(PRODUCT_DIR)/libclearkeycdmadapter.so',
          '<(PRODUCT_DIR)/libffmpegsumo.so',
          '<(PRODUCT_DIR)/libosmesa.so',
          '<(PRODUCT_DIR)/libppGoogleNaClPluginChrome.so',
          '<(PRODUCT_DIR)/libppapi_tests.so',
          '<(PRODUCT_DIR)/nacl_helper<(EXECUTABLE_SUFFIX)',
          '<(PRODUCT_DIR)/nacl_helper_bootstrap<(EXECUTABLE_SUFFIX)',
          '<(PRODUCT_DIR)/xdisplaycheck<(EXECUTABLE_SUFFIX)',
        ],
      },
    }],
    ['OS=="linux" or OS=="mac"', {
      'variables': {
        'isolate_dependency_tracked': [
          'browser/nacl_host/test/debug_stub_browser_tests.py',
          'browser/nacl_host/test/gdb_rsp.py',
        ],
      },
    }],
    ['OS=="linux" or OS=="mac" or OS=="win"', {
      'variables': {
        'isolate_dependency_tracked': [
          '../media/test/data/bear-320x240-multitrack.webm',
          '../media/test/data/no_streams.webm',
          '../media/test/data/sfx.ogg',
          '../ppapi/tests/test_case.html',
          '../ppapi/tests/test_page.css',
          '../testing/test_env.py',
          '<(PRODUCT_DIR)/browser_tests<(EXECUTABLE_SUFFIX)',
          '<(PRODUCT_DIR)/ppapi_nacl_tests_glibc.nmf',
          '<(PRODUCT_DIR)/ppapi_nacl_tests_newlib.nmf',
          '<(PRODUCT_DIR)/ppapi_nacl_tests_pnacl.nmf',
          '<(PRODUCT_DIR)/resources.pak',
          '<(PRODUCT_DIR)/test_case.html',
          '<(PRODUCT_DIR)/test_case.html.mock-http-headers',
          '<(PRODUCT_DIR)/test_page.css',
          'browser/policy/test/asn1der.py',
          'browser/policy/test/policy_testserver.py',
          'browser/safe_browsing/safe_browsing_testserver.py',
          'common/extensions/docs/examples/apps/calculator/app/controller.js',
          'common/extensions/docs/examples/apps/calculator/app/model.js',
          'common/extensions/docs/examples/apps/calculator/app/view.js',
        ],
        'isolate_dependency_untracked': [
          '../content/test/data/',
          '../net/data/',
          '../net/tools/testserver/',
          '../third_party/WebKit/Tools/Scripts/',
          '../third_party/accessibility-developer-tools/gen/',
          '../third_party/pyftpdlib/',
          '../third_party/pywebsocket/',
          '../third_party/safe_browsing/',
          '../third_party/simplejson/',
          '../third_party/tlslite/',
          '../tools/swarm_client/',
          '<(PRODUCT_DIR)/nacl_test_data/',
          '<(PRODUCT_DIR)/pnacl/',
          '<(PRODUCT_DIR)/pseudo_locales/',
          '<(PRODUCT_DIR)/pyproto/',
          '<(PRODUCT_DIR)/test_data/chrome/',
          '<(PRODUCT_DIR)/test_url_loader_data/',
          'common/extensions/docs/examples/apps/calculator/tests/',
          'test/data/',
          'third_party/mock4js/',
        ],
      },
    }],
    ['OS=="linux" or OS=="win"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/chrome_100_percent.pak',
          '<(PRODUCT_DIR)/locales/en-US.pak',
          '<(PRODUCT_DIR)/locales/fr.pak',
          '<(PRODUCT_DIR)/mock_nacl_gdb<(EXECUTABLE_SUFFIX)',
          '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
          '<(PRODUCT_DIR)/ppapi_nacl_tests_glibc_x64.nexe',
          '<(PRODUCT_DIR)/ppapi_nacl_tests_newlib_x64.nexe',
          '<(PRODUCT_DIR)/ppapi_nacl_tests_pnacl_newlib_x64.nexe',
        ],
        'isolate_dependency_untracked': [
          '../third_party/bidichecker/',
          '<(PRODUCT_DIR)/lib64/',
          '<(PRODUCT_DIR)/plugins/',
          '<(PRODUCT_DIR)/resources/extension/',
        ],
      },
    }],
    ['OS=="mac"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/clearkeycdmadapter.plugin',
          '<(PRODUCT_DIR)/ffmpegsumo.so',
          '<(PRODUCT_DIR)/libclearkeycdm.dylib',
          '<(PRODUCT_DIR)/ppapi_nacl_tests_glibc_x32.nexe',
          '<(PRODUCT_DIR)/ppapi_nacl_tests_newlib_x32.nexe',
          '<(PRODUCT_DIR)/ppapi_nacl_tests_pnacl_newlib_x32.nexe',
          '<(PRODUCT_DIR)/ppapi_tests.plugin/Contents/MacOS/ppapi_tests',
        ],
        'isolate_dependency_untracked': [
          '<(PRODUCT_DIR)/Chromium Framework.framework/',
          '<(PRODUCT_DIR)/Chromium.app/',
          '<(PRODUCT_DIR)/lib32/',
          '<(PRODUCT_DIR)/plugins/TestNetscapePlugIn.plugin/',
          '<(PRODUCT_DIR)/plugins/npapi_test_plugin.plugin/',
        ],
      },
    }],
    ['OS=="mac" or OS=="win"', {
      'variables': {
        'command': [
          '../testing/test_env.py',
          '../tools/swarm_client/googletest/run_test_cases.py',
          '--use-less-jobs',
          '<(PRODUCT_DIR)/browser_tests<(EXECUTABLE_SUFFIX)',
        ],
      },
    }],
    ['OS=="win"', {
      'variables': {
        'isolate_dependency_tracked': [
          '../native_client/build/build_nexe.py',
          '../third_party/cygwin/bin/bash.exe',
          '../third_party/cygwin/setup_mount.bat',
          '<(PRODUCT_DIR)/D3DCompiler_43.dll',
          '<(PRODUCT_DIR)/clearkeycdm.dll',
          '<(PRODUCT_DIR)/clearkeycdmadapter.dll',
          '<(PRODUCT_DIR)/d3dcompiler_46.dll',
          '<(PRODUCT_DIR)/ffmpegsumo.dll',
          '<(PRODUCT_DIR)/icudt.dll',
          '<(PRODUCT_DIR)/libEGL.dll',
          '<(PRODUCT_DIR)/libGLESv2.dll',
          '<(PRODUCT_DIR)/nacl64<(EXECUTABLE_SUFFIX)',
          '<(PRODUCT_DIR)/osmesa.dll',
          '<(PRODUCT_DIR)/ppGoogleNaClPluginChrome.dll',
          '<(PRODUCT_DIR)/ppapi_tests.dll',
          '<(PRODUCT_DIR)/security_tests.dll',
          'tools/build/repack_locales.py',
        ],
        'isolate_dependency_untracked': [
          '../third_party/npapi/npspy/extern/plugin/',
          '../third_party/psyco_win32/psyco/',
          '../third_party/python_26/',
        ],
      },
    }],
  ],
}
