# Copyright 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=="android" or OS=="linux" or OS=="mac" or OS=="win"', {
      'variables': {
        'files': [
          'data/',
        ],
      },
    }],
    ['OS=="linux" or OS=="mac" or OS=="win"', {
      'variables': {
        'command': [
          '../testing/test_env.py',
          '<(PRODUCT_DIR)/net_unittests<(EXECUTABLE_SUFFIX)',
          '--brave-new-test-launcher',
          '--test-launcher-bot-mode',
          '--asan=<(asan)',
          '--msan=<(msan)',
          '--tsan=<(tsan)',
        ],
        'files': [
          '../testing/test_env.py',
          '../third_party/pyftpdlib/',
          '../third_party/pywebsocket/',
          '../third_party/tlslite/',
          '<(PRODUCT_DIR)/net_unittests<(EXECUTABLE_SUFFIX)',
          '<(PRODUCT_DIR)/pyproto/google/',
          'tools/testserver/',
        ],
        'read_only': 1,
      },
    }],
    ['OS=="mac" and asan==1 and fastbuild==0', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/net_unittests.dSYM/',
        ],
      },
    }],
    ['OS=="win" and (fastbuild==0 or fastbuild==1)', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/net_unittests.exe.pdb',
        ],
      },
    }],
  ],
  'includes': [
    '../base/base.isolate',
    '../gin/v8.isolate',
  ],
}
