# 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_gles3_tests<(EXECUTABLE_SUFFIX)',
          '--test-launcher-batch-limit=400',
        ],
        'files': [
          '../third_party/angle/src/tests/deqp_support/deqp_gles3_test_expectations.txt',
          '../third_party/deqp/src/android/cts/master/gles3-master.txt',
          '../third_party/deqp/src/data/',
        ],
      },
    }],
    ['OS=="win"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/angle_deqp_libgles3.dll',
        ],
      },
    }],
    ['OS=="linux"', {
      'variables': {
        'files': [
          '<(PRODUCT_DIR)/lib/libangle_deqp_libgles3.so',
        ],
      },
    }],
  ],
}
