# 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.
{
  'includes': [
    'chrome.isolate',
  ],
  'conditions': [
    ['OS=="linux"', {
      'variables': {
        'command': [
          '../testing/xvfb.py',
          '<(PRODUCT_DIR)',
          '<(PRODUCT_DIR)/browser_tests<(EXECUTABLE_SUFFIX)',
          '--test-launcher-bot-mode',
        ],
        'isolate_dependency_tracked': [
          '../testing/xvfb.py',
          '<(PRODUCT_DIR)/libclearkeycdm.so',
          '<(PRODUCT_DIR)/libclearkeycdmadapter.so',
          '<(PRODUCT_DIR)/libppapi_tests.so',
          '<(PRODUCT_DIR)/xdisplaycheck<(EXECUTABLE_SUFFIX)',
        ],
      },
    }],
    ['OS=="linux" and libpeer_target_type=="loadable_module"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/lib/libpeerconnection.so',
        ],
      },
    }],
    ['OS=="linux" or OS=="mac" or OS=="win"', {
      'variables': {
        'isolate_dependency_tracked': [
          '../media/test/data/',
          '../ppapi/tests/test_case.html',
          '../ppapi/tests/test_page.css',
          '../testing/test_env.py',
          '../third_party/accessibility-audit/axs_testing.js',
          '<(PRODUCT_DIR)/browser_tests<(EXECUTABLE_SUFFIX)',
          '<(PRODUCT_DIR)/peerconnection_server<(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)/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',
        ],
        'isolate_dependency_untracked': [
          '../content/test/data/',
          '../media/test/data/',
          '../net/data/',
          '../net/tools/testserver/',
          '../third_party/pyftpdlib/',
          '../third_party/pywebsocket/',
          '../third_party/safe_browsing/',
          '../third_party/simplejson/',
          '../third_party/tlslite/',
          '<(PRODUCT_DIR)/nacl_test_data/',
          '<(PRODUCT_DIR)/pnacl/',
          '<(PRODUCT_DIR)/pseudo_locales/',
          '<(PRODUCT_DIR)/pyproto/',
          '<(PRODUCT_DIR)/remoting/unittests/',
          '<(PRODUCT_DIR)/test_data/',
          '<(PRODUCT_DIR)/test_url_loader_data/',
          'common/extensions/docs/examples/apps/calculator/',
          'test/data/',
          'third_party/mock4js/',
        ],
        'read_only': 1,
      },
    }],
    ['OS=="linux" or OS=="win"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/mock_nacl_gdb<(EXECUTABLE_SUFFIX)',
          '<(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/',
        ],
      },
    }],
    ['OS=="mac"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/clearkeycdmadapter.plugin',
          '<(PRODUCT_DIR)/libclearkeycdm.dylib',
          '<(PRODUCT_DIR)/osmesa.so',
          '<(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)/lib32/',
          '<(PRODUCT_DIR)/plugins/npapi_test_plugin.plugin/',
          '<(PRODUCT_DIR)/plugins/test_netscape_plugin.plugin/',
        ],
      },
    }],
    ['OS=="mac" or OS=="win"', {
      'variables': {
        'command': [
          '../testing/test_env.py',
          '<(PRODUCT_DIR)/browser_tests<(EXECUTABLE_SUFFIX)',
          '--test-launcher-bot-mode',
        ],
      },
    }],
    ['OS=="win"', {
      'variables': {
        'isolate_dependency_tracked': [
          '../native_client/build/build_nexe.py',
          '<(PRODUCT_DIR)/chrome_elf.dll',
          '<(PRODUCT_DIR)/clearkeycdm.dll',
          '<(PRODUCT_DIR)/clearkeycdmadapter.dll',
          '<(PRODUCT_DIR)/ppapi_tests.dll',
          'tools/build/repack_locales.py',
        ],
        'isolate_dependency_untracked': [
          '<(PRODUCT_DIR)/browser_tests.exe.pdb',
          '<(PRODUCT_DIR)/plugins/',
        ],
      },
    }],
    ['OS=="win" and libpeer_target_type=="loadable_module"', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/libpeerconnection.dll',
        ],
      },
    }],
    ['chromeos==1', {
      'variables': {
        'isolate_dependency_tracked': [
          '<(PRODUCT_DIR)/keyboard_resources.pak',
          '<(PRODUCT_DIR)/libexif.so',
          '<(PRODUCT_DIR)/nacl_helper',
          '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
          'browser/chromeos/login/test/https_forwarder.py',
        ],
        'isolate_dependency_untracked': [
          '../chromeos/test/data/',
          '../google_apis/test/',
          '../ui/file_manager/file_manager/',
          '../ui/webui/resources/js/',
          '<(PRODUCT_DIR)/chromevox_test_data/',
          '<(PRODUCT_DIR)/locales/',
          '<(PRODUCT_DIR)/resources/chromeos/',
        ],
      },
    }],
  ],
}
