# Copyright 2015 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.

# Because of a limitation in isolate_driver.py, this file needs to be in
# the same directory as the main .gyp file.

{
  'conditions': [
    ['OS=="win"', {
      'variables': {
        'command': [
          '<(PRODUCT_DIR)/sbox_integration_tests.exe',
        ],
      },
    }],
    ['OS=="win" and target_arch=="ia32"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/wow_helper.exe',
        ],
      },
    }],
    # These PDBs are needed in order to get reasonable stack traces if
    # an assertion fires or a crash occurs. Add more as necessary.
    ['OS=="win" and (fastbuild==0 or fastbuild==1)', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/sbox_integration_tests.exe.pdb',
        ],
      },
    }],
  ],
  'includes': [
    '../base/base.isolate',
  ],
}
