# 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)',
          '<(PRODUCT_DIR)/browser_tests<(EXECUTABLE_SUFFIX)',
          '--test-launcher-bot-mode',
          '--asan=<(asan)',
          '--lsan=<(lsan)',
        ],
        'files': [
          '../testing/xvfb.py',
          '<(PRODUCT_DIR)/libclearkeycdm.so',
          '<(PRODUCT_DIR)/libclearkeycdmadapter.so',
          '<(PRODUCT_DIR)/libppapi_tests.so',
        ],
      },
    }],
    ['OS=="linux" and use_ozone==0', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/xdisplaycheck<(EXECUTABLE_SUFFIX)',
        ],
      },
    }],
    ['OS=="linux" and libpeer_target_type=="loadable_module"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/lib/libpeerconnection.so',
        ],
      },
    }],
    ['OS=="linux" or OS=="mac" or OS=="win"', {
      'variables': {
        'files': [
          '../content/test/data/',
          '../google_apis/test/',
          '../media/test/data/',
          '../media/test/data/',
          '../net/data/',
          '../net/tools/testserver/',
          '../ppapi/tests/test_case.html',
          '../ppapi/tests/test_page.css',
          '../testing/test_env.py',
          '../third_party/accessibility-audit/axs_testing.js',
          '../third_party/pyftpdlib/',
          '../third_party/pywebsocket/',
          '../third_party/safe_browsing/',
          '../third_party/simplejson/',
          '../third_party/tlslite/',
          '<(PRODUCT_DIR)/browser_tests<(EXECUTABLE_SUFFIX)',
          '<(PRODUCT_DIR)/peerconnection_server<(EXECUTABLE_SUFFIX)',
          '<(PRODUCT_DIR)/pseudo_locales/',
          '<(PRODUCT_DIR)/pyproto/',
          '<(PRODUCT_DIR)/remoting/unittests/',
          '<(PRODUCT_DIR)/test_case.html',
          '<(PRODUCT_DIR)/test_case.html.mock-http-headers',
          '<(PRODUCT_DIR)/test_data/',
          '<(PRODUCT_DIR)/test_page.css',
          '<(PRODUCT_DIR)/test_url_loader_data/',
          'browser/policy/test/asn1der.py',
          'browser/policy/test/policy_testserver.py',
          'common/extensions/docs/examples/apps/calculator/',
          'test/data/',
          'third_party/mock4js/',
        ],
        'read_only': 1,
      },
    }],
    ['disable_nacl==0 and (OS=="linux" or OS=="mac" or OS=="win")', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/nacl_test_data/',
          '<(PRODUCT_DIR)/pnacl/',
          '<(PRODUCT_DIR)/ppapi_nacl_tests_newlib.nmf',
          '<(PRODUCT_DIR)/ppapi_nacl_tests_pnacl.nmf',
        ],
        'read_only': 1,
      },
    }],
    ['OS=="linux" or OS=="win"', {
      'variables': {
        'files': [
          '../third_party/bidichecker/',
        ],
      },
    }],
    ['disable_nacl==0 and (OS=="linux" or OS=="win")', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/mock_nacl_gdb<(EXECUTABLE_SUFFIX)',
        ],
      },
    }],
    [('disable_nacl==0 and (OS=="linux" or OS=="mac" or OS=="win") and '
         '(target_arch=="x64" or target_arch=="ia32")'), {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/ppapi_nacl_tests_glibc.nmf',
        ],
      },
    }],
    ['disable_nacl==0 and OS=="linux" and target_arch=="ia32"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/ppapi_nacl_tests_pnacl_nonsfi.nmf',
        ],
      },
    }],
    ['disable_nacl==0 and OS=="linux" and target_arch=="arm"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/ppapi_nacl_tests_newlib_arm.nexe',
          '<(PRODUCT_DIR)/ppapi_nacl_tests_pnacl_newlib_arm.nexe',
        ],
      },
    }],
    ['disable_nacl==0 and (OS=="win" or '
         '((OS=="linux" or OS=="mac") and target_arch=="x64"))', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/lib64/',
          '<(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',
        ],
      },
    }],
    ['disable_nacl==0 and target_arch=="ia32" and'
         '(OS=="mac" or OS=="linux" or OS=="win")', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/lib32/',
          '<(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',
        ],
      },
    }],
    ['OS=="mac"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/clearkeycdmadapter.plugin',
          '<(PRODUCT_DIR)/content_shell.pak',
          '<(PRODUCT_DIR)/libclearkeycdm.dylib',
          '<(PRODUCT_DIR)/osmesa.so',
          '<(PRODUCT_DIR)/plugins/npapi_test_plugin.plugin/',
          '<(PRODUCT_DIR)/plugins/test_netscape_plugin.plugin/',
          '<(PRODUCT_DIR)/ppapi_tests.plugin/Contents/MacOS/ppapi_tests',
        ],
      },
    }],
    ['OS=="mac" or OS=="win"', {
      'variables': {
        'command': [
          '../testing/test_env.py',
          '<(PRODUCT_DIR)/browser_tests<(EXECUTABLE_SUFFIX)',
          '--test-launcher-bot-mode',
          '--asan=<(asan)',
          '--lsan=<(lsan)',
        ],
      },
    }],
    ['OS=="win"', {
      'variables': {
        'files': [
          '../native_client/build/build_nexe.py',
          '<(PRODUCT_DIR)/chrome_elf.dll',
          '<(PRODUCT_DIR)/clearkeycdm.dll',
          '<(PRODUCT_DIR)/clearkeycdmadapter.dll',
          '<(PRODUCT_DIR)/plugins/',
          '<(PRODUCT_DIR)/ppapi_tests.dll',
          'tools/build/repack_locales.py',
        ],
      },
    }],
    ['OS=="win" and target_arch=="ia32"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/wow_helper.exe',
        ],
      },
    }],
    ['OS=="win" and (fastbuild==0 or fastbuild==1)', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/browser_tests.exe.pdb',
        ],
      },
    }],
    ['OS=="win" and libpeer_target_type=="loadable_module"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/libpeerconnection.dll',
        ],
      },
    }],
    ['chromeos==1', {
      'variables': {
        'files': [
          '../chromeos/test/data/',
          '../ui/file_manager/file_manager/',
          '../ui/webui/resources/js/',
          '../chrome/browser/resources/chromeos/wallpaper_manager/',
          '<(PRODUCT_DIR)/chromevox_test_data/',
          '<(PRODUCT_DIR)/content_shell.pak',
          '<(PRODUCT_DIR)/keyboard_resources.pak',
          '<(PRODUCT_DIR)/libexif.so',
          '<(PRODUCT_DIR)/locales/',
          '<(PRODUCT_DIR)/nacl_helper',
          '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
          '<(PRODUCT_DIR)/resources/chromeos/',
          'browser/chromeos/login/test/https_forwarder.py',
        ],
      },
    }],
  ],
  'includes': [
    '../base/base.isolate',
    'chrome.isolate',
  ],
}
