# Copyright (c) 2013 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': [
    ['use_x11==0', {
      'variables': {
        'command': [
          '../testing/test_env.py',
          '<(PRODUCT_DIR)/content_browsertests<(EXECUTABLE_SUFFIX)',
          '--test-launcher-bot-mode',
          '--asan=<(asan)',
          '--msan=<(msan)',
          '--tsan=<(tsan)',
        ],
      },
    }],
    ['use_x11==1', {
      'variables': {
        'command': [
          '../testing/xvfb.py',
          '<(PRODUCT_DIR)',
          '<(PRODUCT_DIR)/content_browsertests<(EXECUTABLE_SUFFIX)',
          '--test-launcher-bot-mode',
          '--asan=<(asan)',
          '--msan=<(msan)',
          '--tsan=<(tsan)',
        ],
        'files': [
          '../testing/xvfb.py',
          '<(PRODUCT_DIR)/xdisplaycheck<(EXECUTABLE_SUFFIX)',
        ],
      },
    }],
    ['chromeos==1', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/content_shell.pak',
        ],
      },
    }],
    ['OS=="android" or OS=="linux" or OS=="mac" or OS=="win"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/content_shell.pak',
        ],
      },
    }],
    ['OS=="android" or OS=="linux" or OS=="mac" or OS=="win"', {
      'variables': {
        'files': [
          '../media/test/data/',
          '../net/data/',
          'test/data/',
        ],
      },
    }],
    ['OS=="linux"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/libosmesa.so',
        ],
      },
    }],
    ['OS=="linux" and enable_plugins==1', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/libppapi_tests.so',
        ],
      },
    }],
    ['enable_plugins==1', {
      'variables': {
        'files': [
          '../ppapi/tests/test_case.html',
          '../ppapi/tests/test_page.css',
        ],
      },
    }],
    ['OS=="linux" or OS=="mac" or OS=="win"', {
      'variables': {
        'files': [
          '../net/tools/testserver/',
          '../testing/test_env.py',
          '../third_party/pyftpdlib/',
          '../third_party/pywebsocket/',
          '../third_party/tlslite/',
        ],
      },
    }],
    ['OS=="mac"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/Content Shell.app/',
          '<(PRODUCT_DIR)/ppapi_tests.plugin/Contents/MacOS/ppapi_tests',
        ],
      },
    }],
    ['OS=="mac" and asan==1 and fastbuild==0', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/Content Shell Framework.framework.dSYM/',
          '<(PRODUCT_DIR)/Content Shell Helper.app.dSYM/',
          '<(PRODUCT_DIR)/Content Shell.app.dSYM/',
          '<(PRODUCT_DIR)/content_browsertests.dSYM/',
          '<(PRODUCT_DIR)/ppapi_tests.plugin.dSYM/',
        ],
      },
    }],
    ['OS=="win"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/osmesa.dll',
          '<(PRODUCT_DIR)/ppapi_tests.dll',
        ],
      },
    }],
    ['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)/content_browsertests.exe.pdb',
        ],
      },
    }],
  ],
  'includes': [
    '../base/base.isolate',
    '../gin/v8.isolate',
    '../ui/gl/gl.isolate',
  ],
}
