# 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.
# TOOD(jmadill): disable gtest batching
{
  'includes': [
    '../base/base.isolate',
    '../third_party/angle/angle_on_all_platforms.isolate',
  ],
  'conditions': [
    ['OS=="win" or OS=="linux"', {
      'variables': {
        'command': [
          '<(PRODUCT_DIR)/angle_deqp_egl_tests<(EXECUTABLE_SUFFIX)',
          '--test-launcher-batch-limit=400',
        ],
        'files': [
          '../third_party/angle/src/tests/deqp_support/deqp_egl_test_expectations.txt',
          '../third_party/deqp/src/android/cts/master/egl-master.txt',
          '../third_party/deqp/src/data/',
        ],
      },
    }],
    ['OS=="win"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/angle_deqp_libegl.dll',
        ],
      },
    }],
    ['OS=="linux"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/lib/libangle_deqp_libegl.so',
        ],
      },
    }],
  ],
}
