# 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)',
        ],
        'isolate_dependency_tracked': [
          '<(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': {
        'isolate_dependency_tracked': [
          '<(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.
        ],
        'isolate_dependency_untracked': [
          '../third_party/gles2_conform/GTF_ES/',
        ],
      },
    }],
  ],
}
