# Copyright 2015 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_unittests_sources = [
  "../common/FastVector_unittest.cpp",
  "../common/FixedVector_unittest.cpp",
  "../common/PoolAlloc_unittest.cpp",
  "../common/Optional_unittest.cpp",
  "../common/aligned_memory_unittest.cpp",
  "../common/angleutils_unittest.cpp",
  "../common/bitset_utils_unittest.cpp",
  "../common/hash_utils_unittest.cpp",
  "../common/mathutil_unittest.cpp",
  "../common/matrix_utils_unittest.cpp",
  "../common/string_utils_unittest.cpp",
  "../common/system_utils_unittest.cpp",
  "../common/system_utils_unittest_helper.h",
  "../common/utilities_unittest.cpp",
  "../common/vector_utils_unittest.cpp",
  "../feature_support_util/feature_support_util_unittest.cpp",
  "../gpu_info_util/SystemInfo_unittest.cpp",
  "../libANGLE/BinaryStream_unittest.cpp",
  "../libANGLE/BlobCache_unittest.cpp",
  "../libANGLE/Config_unittest.cpp",
  "../libANGLE/Fence_unittest.cpp",
  "../libANGLE/HandleAllocator_unittest.cpp",
  "../libANGLE/HandleRangeAllocator_unittest.cpp",
  "../libANGLE/Image_unittest.cpp",
  "../libANGLE/ImageIndexIterator_unittest.cpp",
  "../libANGLE/Observer_unittest.cpp",
  "../libANGLE/Program_unittest.cpp",
  "../libANGLE/ResourceManager_unittest.cpp",
  "../libANGLE/ResourceMap_unittest.cpp",
  "../libANGLE/SizedMRUCache_unittest.cpp",
  "../libANGLE/Surface_unittest.cpp",
  "../libANGLE/TransformFeedback_unittest.cpp",
  "../libANGLE/VaryingPacking_unittest.cpp",
  "../libANGLE/VertexArray_unittest.cpp",
  "../libANGLE/WorkerThread_unittest.cpp",
  "../libANGLE/renderer/BufferImpl_mock.h",
  "../libANGLE/renderer/FramebufferImpl_mock.h",
  "../libANGLE/renderer/ProgramImpl_mock.h",
  "../libANGLE/renderer/RenderbufferImpl_mock.h",
  "../libANGLE/renderer/ImageImpl_mock.h",
  "../libANGLE/renderer/TextureImpl_mock.h",
  "../libANGLE/renderer/TransformFeedbackImpl_mock.h",
  "../tests/angle_unittests_utils.h",
  "../tests/compiler_tests/API_test.cpp",
  "../tests/compiler_tests/AppendixALimitations_test.cpp",
  "../tests/compiler_tests/ARB_texture_rectangle_test.cpp",
  "../tests/compiler_tests/AtomicCounter_test.cpp",
  "../tests/compiler_tests/BufferVariables_test.cpp",
  "../tests/compiler_tests/CollectVariables_test.cpp",
  "../tests/compiler_tests/ConstantFolding_test.cpp",
  "../tests/compiler_tests/ConstantFoldingNaN_test.cpp",
  "../tests/compiler_tests/ConstantFoldingOverflow_test.cpp",
  "../tests/compiler_tests/ConstructCompiler_test.cpp",
  "../tests/compiler_tests/DebugShaderPrecision_test.cpp",
  "../tests/compiler_tests/EmulateGLBaseVertexBaseInstance_test.cpp",
  "../tests/compiler_tests/EmulateGLDrawID_test.cpp",
  "../tests/compiler_tests/EmulateGLFragColorBroadcast_test.cpp",
  "../tests/compiler_tests/ExpressionLimit_test.cpp",
  "../tests/compiler_tests/EXT_YUV_target_test.cpp",
  "../tests/compiler_tests/EXT_blend_func_extended_test.cpp",
  "../tests/compiler_tests/EXT_frag_depth_test.cpp",
  "../tests/compiler_tests/EXT_shader_texture_lod_test.cpp",
  "../tests/compiler_tests/ExtensionDirective_test.cpp",
  "../tests/compiler_tests/FloatLex_test.cpp",
  "../tests/compiler_tests/FragDepth_test.cpp",
  "../tests/compiler_tests/GLSLCompatibilityOutput_test.cpp",
  "../tests/compiler_tests/GlFragDataNotModified_test.cpp",
  "../tests/compiler_tests/GeometryShader_test.cpp",
  "../tests/compiler_tests/ImmutableString_test.cpp",
  "../tests/compiler_tests/InitOutputVariables_test.cpp",
  "../tests/compiler_tests/IntermNode_test.cpp",
  "../tests/compiler_tests/NV_draw_buffers_test.cpp",
  "../tests/compiler_tests/OES_standard_derivatives_test.cpp",
  "../tests/compiler_tests/Pack_Unpack_test.cpp",
  "../tests/compiler_tests/PruneEmptyCases_test.cpp",
  "../tests/compiler_tests/PruneEmptyDeclarations_test.cpp",
  "../tests/compiler_tests/PrunePureLiteralStatements_test.cpp",
  "../tests/compiler_tests/PruneUnusedFunctions_test.cpp",
  "../tests/compiler_tests/QualificationOrderESSL31_test.cpp",
  "../tests/compiler_tests/QualificationOrder_test.cpp",
  "../tests/compiler_tests/RecordConstantPrecision_test.cpp",
  "../tests/compiler_tests/RegenerateStructNames_test.cpp",
  "../tests/compiler_tests/RemovePow_test.cpp",
  "../tests/compiler_tests/RemoveUnreferencedVariables_test.cpp",
  "../tests/compiler_tests/RewriteDoWhile_test.cpp",
  "../tests/compiler_tests/SamplerMultisample_test.cpp",
  "../tests/compiler_tests/ScalarizeVecAndMatConstructorArgs_test.cpp",
  "../tests/compiler_tests/ShaderImage_test.cpp",
  "../tests/compiler_tests/ShaderValidation_test.cpp",
  "../tests/compiler_tests/ShaderVariable_test.cpp",
  "../tests/compiler_tests/ShCompile_test.cpp",
  "../tests/compiler_tests/TextureFunction_test.cpp",
  "../tests/compiler_tests/Type_test.cpp",
  "../tests/compiler_tests/TypeTracking_test.cpp",
  "../tests/compiler_tests/UnfoldShortCircuitAST_test.cpp",
  "../tests/compiler_tests/VariablePacker_test.cpp",
  "../tests/compiler_tests/VectorizeVectorScalarArithmetic_test.cpp",
  "../tests/compiler_tests/OVR_multiview_test.cpp",
  "../tests/compiler_tests/OVR_multiview2_test.cpp",
  "../tests/compiler_tests/WorkGroupSize_test.cpp",
  "../tests/test_expectations/GPUTestExpectationsParser_unittest.cpp",
  "../tests/preprocessor_tests/char_test.cpp",
  "../tests/preprocessor_tests/comment_test.cpp",
  "../tests/preprocessor_tests/define_test.cpp",
  "../tests/preprocessor_tests/error_test.cpp",
  "../tests/preprocessor_tests/extension_test.cpp",
  "../tests/preprocessor_tests/identifier_test.cpp",
  "../tests/preprocessor_tests/if_test.cpp",
  "../tests/preprocessor_tests/input_test.cpp",
  "../tests/preprocessor_tests/location_test.cpp",
  "../tests/preprocessor_tests/MockDiagnostics.h",
  "../tests/preprocessor_tests/MockDirectiveHandler.h",
  "../tests/preprocessor_tests/number_test.cpp",
  "../tests/preprocessor_tests/operator_test.cpp",
  "../tests/preprocessor_tests/pragma_test.cpp",
  "../tests/preprocessor_tests/PreprocessorTest.cpp",
  "../tests/preprocessor_tests/PreprocessorTest.h",
  "../tests/preprocessor_tests/space_test.cpp",
  "../tests/preprocessor_tests/token_test.cpp",
  "../tests/preprocessor_tests/version_test.cpp",
  "../tests/test_utils/compiler_test.cpp",
  "../tests/test_utils/compiler_test.h",
  "../tests/test_utils/ConstantFoldingTest.h",
  "../tests/test_utils/ConstantFoldingTest.cpp",
  "../tests/test_utils/ShaderCompileTreeTest.h",
  "../tests/test_utils/ShaderCompileTreeTest.cpp",
  "../tests/test_utils/ShaderExtensionTest.h",
]

# TODO(jmadill): should probably call this windows sources
angle_unittests_hlsl_sources = [
  "../tests/compiler_tests/HLSLOutput_test.cpp",
  "../tests/compiler_tests/UnrollFlatten_test.cpp",
]

angle_unittests_helper_sources = [
  "../common/system_utils_unittest_helper.cpp",
  "../common/system_utils_unittest_helper.h",
]

if (is_android) {
  angle_unittests_sources +=
      [ "../tests/compiler_tests/ImmutableString_test_ESSL_autogen.cpp" ]
} else {
  angle_unittests_sources +=
      [ "../tests/compiler_tests/ImmutableString_test_autogen.cpp" ]
}
