# 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',
          '--manifest_file',
          '<(PRODUCT_DIR)/remoting/com.google.chrome.remote_desktop.json',
          '--user_profile_dir',
          '/tmp/chromoting_test_profile',
        ],
        'files': [
          '../xvfb.py',
          './browser_tests_launcher.py',
          './browser_test_commands_linux.txt',
          '<(PRODUCT_DIR)/libffmpegsumo.so',
          '<(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',
        ],
      },
    }],
    ['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)/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)/ffmpegsumo.dll',
        ],
      },
    }],
    ['OS=="mac"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/<(mac_product_name).app/',
          '<(PRODUCT_DIR)/exif.so',
          '<(PRODUCT_DIR)/ffmpegsumo.so',
        ],
      },
    }],
    ['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',
          '--extension-name=Chromoting',
        ],
      },
    }],
    ['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',
          '--extension-name=Chromoting',
          '--accounts-file=../../remoting/tools/internal/test_accounts.json',
          '--account-type=gmail',
        ],
      },
    }],
  ],
  'includes': [
    '../../base/base.isolate',
    '../../gin/v8.isolate',
  ],
}
