# Copyright 2014 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

angle_end2end_tests_sources = [
  "egl_tests/EGLAndroidFrameBufferTargetTest.cpp",
  "egl_tests/EGLBackwardsCompatibleContextTest.cpp",
  "egl_tests/EGLBlobCacheTest.cpp",
  "egl_tests/EGLBufferAgeTest.cpp",
  "egl_tests/EGLChooseConfigTest.cpp",
  "egl_tests/EGLContextASANTest.cpp",
  "egl_tests/EGLContextCompatibilityTest.cpp",
  "egl_tests/EGLContextSharingTest.cpp",
  "egl_tests/EGLCreateContextAttribsTest.cpp",
  "egl_tests/EGLDebugTest.cpp",
  "egl_tests/EGLDisplayPowerPreferenceTest.cpp",
  "egl_tests/EGLMultiContextTest.cpp",
  "egl_tests/EGLNoConfigContextTest.cpp",
  "egl_tests/EGLPreRotationTest.cpp",
  "egl_tests/EGLPrintEGLinfoTest.cpp",
  "egl_tests/EGLProgramCacheControlTest.cpp",
  "egl_tests/EGLProtectedContentTest.cpp",
  "egl_tests/EGLQueryContextTest.cpp",
  "egl_tests/EGLReadinessCheckTest.cpp",
  "egl_tests/EGLRecordableTest.cpp",
  "egl_tests/EGLRobustnessTest.cpp",
  "egl_tests/EGLSurfaceTest.cpp",
  "egl_tests/EGLSurfacelessContextTest.cpp",
  "egl_tests/EGLSyncTest.cpp",
  "gl_tests/ActiveTextureCacheTest.cpp",
  "gl_tests/AtomicCounterBufferTest.cpp",
  "gl_tests/AttributeLayoutTest.cpp",
  "gl_tests/BPTCCompressedTextureTest.cpp",
  "gl_tests/BindGeneratesResourceTest.cpp",
  "gl_tests/BindUniformLocationTest.cpp",
  "gl_tests/BlendFuncExtendedTest.cpp",
  "gl_tests/BlendIntegerTest.cpp",
  "gl_tests/BlendMinMaxTest.cpp",
  "gl_tests/BlendPackedTest.cpp",
  "gl_tests/BlitFramebufferANGLETest.cpp",
  "gl_tests/BufferDataTest.cpp",
  "gl_tests/BuiltinVariableTest.cpp",
  "gl_tests/ClearTest.cpp",
  "gl_tests/ClientArraysTest.cpp",
  "gl_tests/ClipDistanceTest.cpp",
  "gl_tests/ColorMaskTest.cpp",
  "gl_tests/CompressedTextureFormatsTest.cpp",
  "gl_tests/ComputeShaderTest.cpp",
  "gl_tests/ContextLostTest.cpp",
  "gl_tests/ContextNoErrorTest.cpp",
  "gl_tests/CopyCompressedTextureTest.cpp",
  "gl_tests/CopyTexImageTest.cpp",
  "gl_tests/CopyTexture3DTest.cpp",
  "gl_tests/CopyTextureTest.cpp",
  "gl_tests/CubeMapTextureTest.cpp",
  "gl_tests/DXT1CompressedTextureTest.cpp",
  "gl_tests/DXTSRGBCompressedTextureTest.cpp",
  "gl_tests/DebugMarkerTest.cpp",
  "gl_tests/DebugTest.cpp",
  "gl_tests/DepthStencilFormatsTest.cpp",
  "gl_tests/DepthStencilTest.cpp",
  "gl_tests/DifferentStencilMasksTest.cpp",
  "gl_tests/DiscardFramebufferEXTTest.cpp",
  "gl_tests/DrawBaseVertexBaseInstanceTest.cpp",
  "gl_tests/DrawBaseVertexVariantsTest.cpp",
  "gl_tests/DrawBuffersTest.cpp",
  "gl_tests/DrawElementsTest.cpp",
  "gl_tests/ETCTextureTest.cpp",
  "gl_tests/ExternalBufferTest.cpp",
  "gl_tests/ExternalWrapTest.cpp",
  "gl_tests/FenceSyncTests.cpp",
  "gl_tests/FloatingPointSurfaceTest.cpp",
  "gl_tests/FramebufferFetchTest.cpp",
  "gl_tests/FramebufferMixedSamplesTest.cpp",
  "gl_tests/FramebufferMultiviewTest.cpp",
  "gl_tests/FramebufferRenderMipmapTest.cpp",
  "gl_tests/FramebufferTest.cpp",
  "gl_tests/GLSLTest.cpp",
  "gl_tests/GeometryShaderTest.cpp",
  "gl_tests/GetImageTest.cpp",
  "gl_tests/GetTexLevelParameterTest.cpp",
  "gl_tests/ImageTest.cpp",
  "gl_tests/IncompleteTextureTest.cpp",
  "gl_tests/IndexBufferOffsetTest.cpp",
  "gl_tests/IndexedPointsTest.cpp",
  "gl_tests/InstancingTest.cpp",
  "gl_tests/LineLoopTest.cpp",
  "gl_tests/LinkAndRelinkTest.cpp",
  "gl_tests/MatrixTest.cpp",
  "gl_tests/MaxTextureSizeTest.cpp",
  "gl_tests/MemoryBarrierTest.cpp",
  "gl_tests/MemoryObjectTest.cpp",
  "gl_tests/MemorySizeTest.cpp",
  "gl_tests/MipmapTest.cpp",
  "gl_tests/MultiDrawTest.cpp",
  "gl_tests/MultisampleCompatibilityTest.cpp",
  "gl_tests/MultisampleTest.cpp",
  "gl_tests/MultisampledRenderToTextureTest.cpp",
  "gl_tests/MultithreadingTest.cpp",
  "gl_tests/MultiviewDrawTest.cpp",
  "gl_tests/ObjectAllocationTest.cpp",
  "gl_tests/OcclusionQueriesTest.cpp",
  "gl_tests/PBOExtensionTest.cpp",
  "gl_tests/PackUnpackTest.cpp",
  "gl_tests/ParallelShaderCompileTest.cpp",
  "gl_tests/PbufferTest.cpp",
  "gl_tests/PixmapTest.cpp",
  "gl_tests/PointSpritesTest.cpp",
  "gl_tests/ProgramBinaryTest.cpp",
  "gl_tests/ProgramInterfaceTest.cpp",
  "gl_tests/ProgramParameterTest.cpp",
  "gl_tests/ProgramPipelineTest.cpp",
  "gl_tests/ProvokingVertexTest.cpp",
  "gl_tests/QueryObjectValidation.cpp",
  "gl_tests/ReadOnlyFeedbackLoopTest.cpp",
  "gl_tests/ReadPixelsTest.cpp",
  "gl_tests/RenderbufferMultisampleTest.cpp",
  "gl_tests/RendererTest.cpp",
  "gl_tests/RequestExtensionTest.cpp",
  "gl_tests/RobustBufferAccessBehaviorTest.cpp",
  "gl_tests/RobustClientMemoryTest.cpp",
  "gl_tests/RobustFragmentShaderOutputTest.cpp",
  "gl_tests/RobustResourceInitTest.cpp",
  "gl_tests/S3TCTextureSizesTest.cpp",
  "gl_tests/SRGBFramebufferTest.cpp",
  "gl_tests/SRGBTextureTest.cpp",
  "gl_tests/SamplersTest.cpp",
  "gl_tests/SemaphoreTest.cpp",
  "gl_tests/ShaderInterpTest.cpp",
  "gl_tests/ShaderNonConstGlobalInitializerTest.cpp",
  "gl_tests/ShaderStorageBufferTest.cpp",
  "gl_tests/SimpleOperationTest.cpp",
  "gl_tests/SixteenBppTextureTest.cpp",
  "gl_tests/StateChangeTest.cpp",
  "gl_tests/SwizzleTest.cpp",
  "gl_tests/SyncQueriesTest.cpp",
  "gl_tests/TextureExternalUpdateTest.cpp",
  "gl_tests/TextureFilteringHintTest.cpp",
  "gl_tests/TextureMultisampleTest.cpp",
  "gl_tests/TextureRectangleTest.cpp",
  "gl_tests/TextureTest.cpp",
  "gl_tests/TextureUploadFormatTest.cpp",
  "gl_tests/TimerQueriesTest.cpp",
  "gl_tests/TransformFeedbackTest.cpp",
  "gl_tests/UniformBufferTest.cpp",
  "gl_tests/UniformTest.cpp",
  "gl_tests/UnpackAlignmentTest.cpp",
  "gl_tests/UnpackRowLength.cpp",
  "gl_tests/VertexAttributeTest.cpp",
  "gl_tests/ViewportTest.cpp",
  "gl_tests/WEBGLVideoTextureTest.cpp",
  "gl_tests/WebGLCompatibilityTest.cpp",
  "gl_tests/WebGLCompressedTextureAvailabilityTest.cpp",
  "gl_tests/WebGLFramebufferTest.cpp",
  "gl_tests/WebGLReadOutsideFramebufferTest.cpp",
  "gl_tests/gles1/AlphaFuncTest.cpp",
  "gl_tests/gles1/BasicDrawTest.cpp",
  "gl_tests/gles1/BootAnimationTest.cpp",
  "gl_tests/gles1/ClientActiveTextureTest.cpp",
  "gl_tests/gles1/ClientStateEnable.cpp",
  "gl_tests/gles1/ClipPlaneTest.cpp",
  "gl_tests/gles1/CurrentColorTest.cpp",
  "gl_tests/gles1/CurrentNormalTest.cpp",
  "gl_tests/gles1/CurrentTextureCoordsTest.cpp",
  "gl_tests/gles1/DrawTextureTest.cpp",
  "gl_tests/gles1/FogTest.cpp",
  "gl_tests/gles1/FramebufferObjectTest.cpp",
  "gl_tests/gles1/LightsTest.cpp",
  "gl_tests/gles1/MaterialsTest.cpp",
  "gl_tests/gles1/MatrixBuiltinsTest.cpp",
  "gl_tests/gles1/MatrixLoadTest.cpp",
  "gl_tests/gles1/MatrixModeTest.cpp",
  "gl_tests/gles1/MatrixMultTest.cpp",
  "gl_tests/gles1/MatrixStackTest.cpp",
  "gl_tests/gles1/PointParameterTest.cpp",
  "gl_tests/gles1/PointSpriteTest.cpp",
  "gl_tests/gles1/ShadeModelTest.cpp",
  "gl_tests/gles1/TextureEnvTest.cpp",
  "gl_tests/gles1/TextureParameterTest.cpp",
  "gl_tests/gles1/TextureTargetEnableTest.cpp",
  "gl_tests/gles1/VertexPointerTest.cpp",
  "gl_tests/media/pixel.inc",
  "test_expectations/GPUTestExpectationsTest.cpp",
  "test_utils/ANGLETest.cpp",
  "test_utils/ANGLETest.h",
  "test_utils/MultiviewTest.cpp",
  "test_utils/MultiviewTest.h",
]
angle_end2end_tests_mac_sources = [
  "egl_tests/EGLDeviceCGLTest.cpp",
  "egl_tests/EGLIOSurfaceClientBufferTest.cpp",
  "egl_tests/EGLSurfaceTestMac.mm",
  "gl_tests/ImageTestMetal.mm",
]
angle_end2end_tests_win_sources = [
  "egl_tests/EGLDeviceTest.cpp",
  "egl_tests/EGLDisplayLuidTest.cpp",
  "egl_tests/EGLPresentPathD3D11Test.cpp",
  "egl_tests/EGLStreamTest.cpp",
  "egl_tests/EGLSyncControlTest.cpp",
  "egl_tests/media/yuvtest.inl",
  "gl_tests/D3DImageFormatConversionTest.cpp",
]
