# 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',
          './chromoting_test_utilities.py',
          '<(PRODUCT_DIR)/remoting_me2me_host',
          '<(PRODUCT_DIR)/libosmesa.so',
          '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
          '../../remoting/tools/internal/test-account-host-config.json',
          '../../remoting/host/linux/linux_me2me_host.py',
          '<(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/',
          '<(PRODUCT_DIR)/remoting_locales/',
          '../../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.v2/',
          '<(PRODUCT_DIR)/remoting/browser_test_resources/',
          '<(PRODUCT_DIR)/resources.pak',
          '../../remoting/tools/internal/test_accounts.json',
        ],
      },
    }],
    ['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',
  ],
}
