# Copyright (c) 2014 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': [
          './browser_tests_launcher.py',
          '--commands_file',
          './browser_test_commands_linux.txt',
          '--prod_dir',
          '<(PRODUCT_DIR)',
          '--cfg_file',
          '../../remoting/tools/internal/test-account-host-config.json',
          '--me2me_manifest_file',
          '<(PRODUCT_DIR)/remoting/com.google.chrome.remote_desktop.json',
          '--it2me_manifest_file',
          '<(PRODUCT_DIR)/remoting/com.google.chrome.remote_assistance.json',
          '--user_profile_dir',
          '/tmp/chromoting_test_profile',
        ],
        'files': [
          '../xvfb.py',
          './browser_tests_launcher.py',
          './browser_test_commands_linux.txt',
          '<(PRODUCT_DIR)/libosmesa.so',
          '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
          '../../remoting/tools/internal/test-account-host-config.json',
          '<(PRODUCT_DIR)/remoting/com.google.chrome.remote_desktop.json',
          '<(PRODUCT_DIR)/remoting/com.google.chrome.remote_assistance.json',
          '<(PRODUCT_DIR)/remoting-me2me-host.deb',
          '<(PRODUCT_DIR)/nacl_helper',
          '<(PRODUCT_DIR)/nacl_helper_bootstrap',
          '<(PRODUCT_DIR)/pnacl/',
          '../../remoting/internal/config/',
        ],
      },
    }],
    ['OS=="linux" and use_ozone==0', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/xdisplaycheck<(EXECUTABLE_SUFFIX)',
        ],
      },
    }],
     ['OS=="linux" or OS=="mac" or OS=="win"', {
      'variables': {
        'files': [
          '../test_env.py',
          '<(PRODUCT_DIR)/browser_tests<(EXECUTABLE_SUFFIX)',
          '<(PRODUCT_DIR)/remoting/remoting.webapp/',
          '<(PRODUCT_DIR)/remoting/remoting.webapp.v2/',
          '<(PRODUCT_DIR)/remoting/browser_test_resources/',
          '<(PRODUCT_DIR)/resources.pak',
          '../../remoting/tools/internal/test_accounts.json',
        ],
        'read_only': 1,
      },
    }],
    ['OS=="linux" or OS=="win"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/chrome_100_percent.pak',
          '<(PRODUCT_DIR)/locales/en-US.pak',
        ],
      },
    }],
    ['OS=="win"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/chrome_elf.dll',
          '<(PRODUCT_DIR)/libglesv2.dll',
        ],
      },
    }],
    ['OS=="mac"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/<(mac_product_name).app/',
          '<(PRODUCT_DIR)/exif.so',
        ],
      },
    }],
    ['OS=="win"', {
      'variables': {
        'command': [
          '../test_env.py',
          '<(PRODUCT_DIR)/browser_tests<(EXECUTABLE_SUFFIX)',
          '--gtest_filter=RemoteDesktopBrowserTest.MANUAL_Launch:RemoteDesktopBrowserTest.MANUAL_Auth',
          '--run-manual',
          '--ui-test-action-timeout=100000',
          '--webapp-unpacked=<(PRODUCT_DIR)/remoting/remoting.webapp.v2',
          '--extension-name=Chromoting',
          '--accounts-file=../../remoting/tools/internal/test_accounts.json',
          '--account-type=gmail',
        ],
      },
    }],
    ['OS=="mac"', {
      'variables': {
        'command': [
          '../test_env.py',
          '<(PRODUCT_DIR)/browser_tests<(EXECUTABLE_SUFFIX)',
          '--gtest_filter=RemoteDesktopBrowserTest.MANUAL_Launch',
          '--run-manual',
          '--ui-test-action-timeout=100000',
          '--webapp-unpacked=<(PRODUCT_DIR)/remoting/remoting.webapp.v2',
          '--extension-name=Chromoting',
          '--accounts-file=../../remoting/tools/internal/test_accounts.json',
          '--account-type=gmail',
        ],
      },
    }],
    ['OS=="win" and kasko==1', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/kasko.dll',
        ],
      },
    }],
  ],
  'includes': [
    '../../base/base.isolate',
    '../../gin/v8.isolate',
  ],
}
