# Copyright 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.
{
  'includes': [
    'angle.isolate',
  ],
  'conditions': [
    # TODO(kbr): add Android when these tests are run on those bots.
    ['OS=="linux" or OS=="mac" or OS=="win"', {
      'variables': {
        'command': [
          '<(PRODUCT_DIR)/gles2_conform_test<(EXECUTABLE_SUFFIX)',
        ],
        'files': [
          '<(PRODUCT_DIR)/gles2_conform_test<(EXECUTABLE_SUFFIX)',
          '../gpu/gles2_conform_support/gles2_conform_test_expectations.txt',
        ],
      },
    }],
    # .isolate format doesn't support nested conditions.
    ['(OS=="linux" or OS=="mac" or OS=="win") and internal_gles2_conform_tests==1', {
      'variables': {
        'files': [
          '../third_party/gles2_conform/GTF_ES/',
          '<(PRODUCT_DIR)/gles2_conform_test_windowless<(EXECUTABLE_SUFFIX)',
          # Could add gles2_conform_test_angle or
          # gles2_conform_test_chromeos if the bots were testing those.
        ],
      },
    }],
  ],
}
