# 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.

import("../../gni/angle.gni")

angle_unittests_sources = [
  "../../util/test_utils_unittest.cpp",
  "../../util/test_utils_unittest_helper.h",
  "../common/BinaryStream_unittest.cpp",
  "../common/CircularBuffer_unittest.cpp",
  "../common/FastVector_unittest.cpp",
  "../common/FixedQueue_unittest.cpp",
  "../common/FixedVector_unittest.cpp",
  "../common/MemoryBuffer_unittest.cpp",
  "../common/Optional_unittest.cpp",
  "../common/PoolAlloc_unittest.cpp",
  "../common/SimpleMutex_unittest.cpp",
  "../common/WorkerThread_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/span_unittest.cpp",
  "../common/string_utils_unittest.cpp",
  "../common/system_utils_unittest.cpp",
  "../common/utilities_unittest.cpp",
  "../common/vector_utils_unittest.cpp",
  "../feature_support_util/feature_support_util_unittest.cpp",
  "../gpu_info_util/SystemInfo_unittest.cpp",
  "../image_util/AstcDecompressorTestUtils.h",
  "../image_util/AstcDecompressor_unittest.cpp",
  "../image_util/LoadToNative_unittest.cpp",
  "../libANGLE/BlendStateExt_unittest.cpp",
  "../libANGLE/BlobCache_unittest.cpp",
  "../libANGLE/Config_unittest.cpp",
  "../libANGLE/ContextMutex_unittest.cpp",
  "../libANGLE/Decompress_unittest.cpp",
  "../libANGLE/Fence_unittest.cpp",
  "../libANGLE/GlobalMutex_unittest.cpp",
  "../libANGLE/HandleAllocator_unittest.cpp",
  "../libANGLE/ImageIndexIterator_unittest.cpp",
  "../libANGLE/Image_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/UnlockedTailCall_unittest.cpp",
  "../libANGLE/VaryingPacking_unittest.cpp",
  "../libANGLE/VertexArray_unittest.cpp",
  "../libANGLE/renderer/BufferImpl_mock.h",
  "../libANGLE/renderer/FramebufferImpl_mock.h",
  "../libANGLE/renderer/ImageImpl_mock.h",
  "../libANGLE/renderer/ProgramImpl_mock.h",
  "../libANGLE/renderer/RenderbufferImpl_mock.h",
  "../libANGLE/renderer/TextureImpl_mock.h",
  "../libANGLE/renderer/TransformFeedbackImpl_mock.h",
  "../libANGLE/renderer/serial_utils_unittest.cpp",
  "angle_unittests_utils.h",
  "preprocessor_tests/MockDiagnostics.h",
  "preprocessor_tests/MockDirectiveHandler.h",
  "preprocessor_tests/PreprocessorTest.cpp",
  "preprocessor_tests/PreprocessorTest.h",
  "preprocessor_tests/char_test.cpp",
  "preprocessor_tests/comment_test.cpp",
  "preprocessor_tests/define_test.cpp",
  "preprocessor_tests/error_test.cpp",
  "preprocessor_tests/extension_test.cpp",
  "preprocessor_tests/identifier_test.cpp",
  "preprocessor_tests/if_test.cpp",
  "preprocessor_tests/input_test.cpp",
  "preprocessor_tests/location_test.cpp",
  "preprocessor_tests/number_test.cpp",
  "preprocessor_tests/operator_test.cpp",
  "preprocessor_tests/pragma_test.cpp",
  "preprocessor_tests/space_test.cpp",
  "preprocessor_tests/token_test.cpp",
  "preprocessor_tests/version_test.cpp",
  "test_expectations/GPUTestExpectationsParser_unittest.cpp",
  "test_utils/angle_test_instantiate.h",
  "test_utils/compiler_test.cpp",
  "test_utils/compiler_test.h",
]

angle_unittests_compiler_tests_sources = [
  "compiler_tests/API_test.cpp",
  "compiler_tests/CollectVariables_test.cpp",
  "compiler_tests/ConstructCompiler_test.cpp",
  "compiler_tests/ExpressionLimit_test.cpp",
  "compiler_tests/FloatLex_test.cpp",
  "compiler_tests/FragDepth_test.cpp",
  "compiler_tests/GLSLCompatibilityOutput_test.cpp",
  "compiler_tests/GeometryShader_test.cpp",
  "compiler_tests/GlFragDataNotModified_test.cpp",
  "compiler_tests/ImmutableString_test.cpp",
  "compiler_tests/InitOutputVariables_test.cpp",
  "compiler_tests/InitializeUninitializedLocals_test.cpp",
  "compiler_tests/IntermNode_test.cpp",
  "compiler_tests/NV_draw_buffers_test.cpp",
  "compiler_tests/OVR_multiview2_test.cpp",
  "compiler_tests/OVR_multiview_test.cpp",
  "compiler_tests/Pack_Unpack_test.cpp",
  "compiler_tests/Parse_test.cpp",
  "compiler_tests/PruneEmptyCases_test.cpp",
  "compiler_tests/PruneEmptyDeclarations_test.cpp",
  "compiler_tests/PruneNoOps_test.cpp",
  "compiler_tests/PrunePureLiteralStatements_test.cpp",
  "compiler_tests/PruneUnusedFunctions_test.cpp",
  "compiler_tests/QualificationOrderESSL31_test.cpp",
  "compiler_tests/QualificationOrder_test.cpp",
  "compiler_tests/RecordConstantPrecision_test.cpp",
  "compiler_tests/RegenerateStructNames_test.cpp",
  "compiler_tests/RemoveUnreferencedVariables_test.cpp",
  "compiler_tests/SamplerMultisample_test.cpp",
  "compiler_tests/SamplerVideoWEBGL_test.cpp",
  "compiler_tests/SeparateDeclarations_test.cpp",
  "compiler_tests/ShCompile_test.cpp",
  "compiler_tests/ShaderValidation_test.cpp",
  "compiler_tests/ShaderVariable_test.cpp",
  "compiler_tests/SimplifyLoopConditions_test.cpp",
  "compiler_tests/TextureFunction_test.cpp",
  "compiler_tests/TypeTracking_test.cpp",
  "compiler_tests/Type_test.cpp",
  "compiler_tests/VariablePacker_test.cpp",
  "compiler_tests/WorkGroupSize_test.cpp",
  "test_utils/ShaderCompileTreeTest.cpp",
  "test_utils/ShaderCompileTreeTest.h",
]

angle_unittests_glsl_mac_sources =
    [ "compiler_tests/UnfoldShortCircuitAST_test.cpp" ]

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

angle_unittests_gl_sources =
    [ "../libANGLE/renderer/gl/DisplayGL_unittest.cpp" ]

angle_unittests_msl_sources = [
  "../common/apple/ObjCPtr_test.mm",
  "../tests/compiler_tests/MSLOutput_test.cpp",
]

# TODO(crbug.com/426055001): EnsureLoopForwardProgressTest failed on iOS, where
# GLSL is not enabled.
if (angle_enable_glsl) {
  angle_unittests_msl_sources +=
      [ "../tests/compiler_tests/EnsureLoopForwardProgress_test.cpp" ]
}

angle_unittests_wgsl_sources = [ "../tests/compiler_tests/WGSLOutput_test.cpp" ]

angle_unittests_sources += [ "compiler_tests/ImmutableString_test_autogen.cpp" ]

if (is_arkweb) {
  angle_unittests_sources += [
    "../../arkweb/chromium_ext/third_party/angle/src/common/ohos_util_unittest.cpp",
    "../../arkweb/chromium_ext/third_party/angle/src/libANGLE/renderer/gl/egl/ohos/DisplayOhos_unittest.cpp",
    "../../arkweb/chromium_ext/third_party/angle/src/libANGLE/renderer/gl/egl/ohos/NativeBufferImageSiblingOhos_unittest.cpp",
  ]
}

if (!is_android && !is_fuchsia && !is_ios) {
  angle_unittests_sources += [ "test_utils/runner/TestSuite_unittest.cpp" ]
}