# Copyright 2021 The Tint Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import("//build_overrides/build.gni")
import("//testing/test.gni")
import("../../tint_overrides_with_defaults.gni")

###############################################################################
# Gtest Gmock - Handle building inside and outside of Chromium.
###############################################################################
# When building outside of Chromium we need to define our own targets for GTest
# and GMock. However when compiling inside of Chromium we need to reuse the
# existing targets, both because Chromium has a special harness for swarming
# and because otherwise the "gn check" fails.

if (!build_with_chromium) {
  # When we aren't in Chromium we define out own targets based on the location
  # of the googletest repo.
  config("gtest_config") {
    include_dirs = [
      "${tint_googletest_dir}/googletest",
      "${tint_googletest_dir}/googletest/include",
    ]
  }
  static_library("gtest") {
    testonly = true
    sources = [ "${tint_googletest_dir}/googletest/src/gtest-all.cc" ]
    public_configs = [ ":gtest_config" ]
  }

  config("gmock_config") {
    include_dirs = [
      "${tint_googletest_dir}/googlemock",
      "${tint_googletest_dir}/googlemock/include",
      "${tint_googletest_dir}/googletest/include",
    ]
  }

  static_library("gmock") {
    testonly = true
    sources = [ "${tint_googletest_dir}/googlemock/src/gmock-all.cc" ]
    public_configs = [ ":gmock_config" ]
  }

  group("gmock_and_gtest") {
    testonly = true
    public_deps = [
      ":gmock",
      ":gtest",
    ]
  }
} else {
  # When we are in Chromium we reuse its targets, and also add some deps that
  # are needed to launch the test in swarming mode.
  group("gmock_and_gtest") {
    testonly = true
    public_deps = [
      "//base",
      "//base/test:test_support",
      "//testing/gmock",
      "//testing/gtest",
      "//third_party/googletest:gmock",
    ]
  }
}

###############################################################################
# Wrapping of Chromium targets
###############################################################################
# These targets are separated because they are Chromium sources files that
# can't use the tint_internal config, otherwise Tint's warning flags get
# applied while compiling a bunch of Chromium's //base (via header inclusion)
source_set("tint_unittests_main") {
  testonly = true
  deps = [ ":gmock_and_gtest" ]
  if (build_with_chromium) {
    sources = [ "//gpu/tint_unittests_main.cc" ]
  } else {
    sources = [ "../../src/tint/test_main.cc" ]
    configs += [ ":tint_unittests_config" ]
    deps += [
      ":tint_unittests_hlsl_writer_src",
      ":tint_unittests_msl_writer_src",
      ":tint_unittests_spv_reader_src",
      "${tint_root_dir}/src/tint:libtint",
    ]
  }
}

###############################################################################
# Tests - For libtint core and optional modules
###############################################################################
config("tint_unittests_config") {
  include_dirs = [
    "${tint_googletest_dir}/googlemock/include",
    "${tint_googletest_dir}/googletest/include",
  ]

  configs = [
    "${tint_root_dir}/src/tint:tint_common_config",
    "${tint_root_dir}/src/tint:tint_public_config",
  ]
}

template("tint_unittests_source_set") {
  source_set(target_name) {
    forward_variables_from(invoker, "*", [ "configs" ])

    if (defined(invoker.configs)) {
      configs += invoker.configs
    }
    configs += [ ":tint_unittests_config" ]
    if (build_with_chromium) {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
    }

    testonly = true

    if (!defined(invoker.deps)) {
      deps = []
    }
    deps += [
      ":gmock_and_gtest",
      "${tint_root_dir}/src/tint:libtint",
      "${tint_root_dir}/src/tint:tint_utils_io",
    ]
  }
}

tint_unittests_source_set("tint_unittests_ast_src") {
  sources = [
    "../../src/tint/ast/alias_test.cc",
    "../../src/tint/ast/array_test.cc",
    "../../src/tint/ast/assignment_statement_test.cc",
    "../../src/tint/ast/atomic_test.cc",
    "../../src/tint/ast/binary_expression_test.cc",
    "../../src/tint/ast/binding_attribute_test.cc",
    "../../src/tint/ast/bitcast_expression_test.cc",
    "../../src/tint/ast/block_statement_test.cc",
    "../../src/tint/ast/bool_literal_expression_test.cc",
    "../../src/tint/ast/bool_test.cc",
    "../../src/tint/ast/break_statement_test.cc",
    "../../src/tint/ast/builtin_attribute_test.cc",
    "../../src/tint/ast/builtin_texture_helper_test.cc",
    "../../src/tint/ast/builtin_texture_helper_test.h",
    "../../src/tint/ast/call_expression_test.cc",
    "../../src/tint/ast/call_statement_test.cc",
    "../../src/tint/ast/case_statement_test.cc",
    "../../src/tint/ast/compound_assignment_statement_test.cc",
    "../../src/tint/ast/continue_statement_test.cc",
    "../../src/tint/ast/depth_multisampled_texture_test.cc",
    "../../src/tint/ast/depth_texture_test.cc",
    "../../src/tint/ast/discard_statement_test.cc",
    "../../src/tint/ast/else_statement_test.cc",
    "../../src/tint/ast/external_texture_test.cc",
    "../../src/tint/ast/f32_test.cc",
    "../../src/tint/ast/fallthrough_statement_test.cc",
    "../../src/tint/ast/float_literal_expression_test.cc",
    "../../src/tint/ast/for_loop_statement_test.cc",
    "../../src/tint/ast/function_test.cc",
    "../../src/tint/ast/group_attribute_test.cc",
    "../../src/tint/ast/i32_test.cc",
    "../../src/tint/ast/id_attribute_test.cc",
    "../../src/tint/ast/identifier_expression_test.cc",
    "../../src/tint/ast/if_statement_test.cc",
    "../../src/tint/ast/index_accessor_expression_test.cc",
    "../../src/tint/ast/int_literal_expression_test.cc",
    "../../src/tint/ast/interpolate_attribute_test.cc",
    "../../src/tint/ast/invariant_attribute_test.cc",
    "../../src/tint/ast/location_attribute_test.cc",
    "../../src/tint/ast/loop_statement_test.cc",
    "../../src/tint/ast/matrix_test.cc",
    "../../src/tint/ast/member_accessor_expression_test.cc",
    "../../src/tint/ast/module_clone_test.cc",
    "../../src/tint/ast/module_test.cc",
    "../../src/tint/ast/multisampled_texture_test.cc",
    "../../src/tint/ast/phony_expression_test.cc",
    "../../src/tint/ast/pointer_test.cc",
    "../../src/tint/ast/return_statement_test.cc",
    "../../src/tint/ast/sampled_texture_test.cc",
    "../../src/tint/ast/sampler_test.cc",
    "../../src/tint/ast/sint_literal_expression_test.cc",
    "../../src/tint/ast/stage_attribute_test.cc",
    "../../src/tint/ast/storage_texture_test.cc",
    "../../src/tint/ast/stride_attribute_test.cc",
    "../../src/tint/ast/struct_member_align_attribute_test.cc",
    "../../src/tint/ast/struct_member_offset_attribute_test.cc",
    "../../src/tint/ast/struct_member_size_attribute_test.cc",
    "../../src/tint/ast/struct_member_test.cc",
    "../../src/tint/ast/struct_test.cc",
    "../../src/tint/ast/switch_statement_test.cc",
    "../../src/tint/ast/test_helper.h",
    "../../src/tint/ast/texture_test.cc",
    "../../src/tint/ast/traverse_expressions_test.cc",
    "../../src/tint/ast/u32_test.cc",
    "../../src/tint/ast/uint_literal_expression_test.cc",
    "../../src/tint/ast/unary_op_expression_test.cc",
    "../../src/tint/ast/variable_decl_statement_test.cc",
    "../../src/tint/ast/variable_test.cc",
    "../../src/tint/ast/vector_test.cc",
    "../../src/tint/ast/workgroup_attribute_test.cc",
  ]
}

tint_unittests_source_set("tint_unittests_diagnostic_src") {
  sources = [
    "../../src/tint/diagnostic/diagnostic_test.cc",
    "../../src/tint/diagnostic/formatter_test.cc",
    "../../src/tint/diagnostic/printer_test.cc",
  ]
}

tint_unittests_source_set("tint_unittests_inspector_src") {
  sources = [
    "../../src/tint/inspector/inspector_test.cc",
    "../../src/tint/inspector/test_inspector_builder.cc",
    "../../src/tint/inspector/test_inspector_builder.h",
    "../../src/tint/inspector/test_inspector_runner.cc",
    "../../src/tint/inspector/test_inspector_runner.h",
  ]
}

tint_unittests_source_set("tint_unittests_resolver_src") {
  sources = [
    "../../src/tint/resolver/array_accessor_test.cc",
    "../../src/tint/resolver/assignment_validation_test.cc",
    "../../src/tint/resolver/atomics_test.cc",
    "../../src/tint/resolver/atomics_validation_test.cc",
    "../../src/tint/resolver/attribute_validation_test.cc",
    "../../src/tint/resolver/bitcast_validation_test.cc",
    "../../src/tint/resolver/builtin_test.cc",
    "../../src/tint/resolver/builtin_validation_test.cc",
    "../../src/tint/resolver/builtins_validation_test.cc",
    "../../src/tint/resolver/call_test.cc",
    "../../src/tint/resolver/call_validation_test.cc",
    "../../src/tint/resolver/compound_statement_test.cc",
    "../../src/tint/resolver/control_block_validation_test.cc",
    "../../src/tint/resolver/dependency_graph_test.cc",
    "../../src/tint/resolver/entry_point_validation_test.cc",
    "../../src/tint/resolver/function_validation_test.cc",
    "../../src/tint/resolver/host_shareable_validation_test.cc",
    "../../src/tint/resolver/is_host_shareable_test.cc",
    "../../src/tint/resolver/is_storeable_test.cc",
    "../../src/tint/resolver/pipeline_overridable_constant_test.cc",
    "../../src/tint/resolver/ptr_ref_test.cc",
    "../../src/tint/resolver/ptr_ref_validation_test.cc",
    "../../src/tint/resolver/resolver_behavior_test.cc",
    "../../src/tint/resolver/resolver_constants_test.cc",
    "../../src/tint/resolver/resolver_test.cc",
    "../../src/tint/resolver/resolver_test_helper.cc",
    "../../src/tint/resolver/resolver_test_helper.h",
    "../../src/tint/resolver/side_effects_test.cc",
    "../../src/tint/resolver/storage_class_layout_validation_test.cc",
    "../../src/tint/resolver/storage_class_validation_test.cc",
    "../../src/tint/resolver/struct_layout_test.cc",
    "../../src/tint/resolver/struct_pipeline_stage_use_test.cc",
    "../../src/tint/resolver/struct_storage_class_use_test.cc",
    "../../src/tint/resolver/type_constructor_validation_test.cc",
    "../../src/tint/resolver/type_validation_test.cc",
    "../../src/tint/resolver/validation_test.cc",
    "../../src/tint/resolver/var_let_test.cc",
    "../../src/tint/resolver/var_let_validation_test.cc",
  ]
  deps = [ ":tint_unittests_ast_src" ]
}

tint_unittests_source_set("tint_unittests_sem_src") {
  sources = [
    "../../src/tint/sem/atomic_type_test.cc",
    "../../src/tint/sem/bool_type_test.cc",
    "../../src/tint/sem/builtin_test.cc",
    "../../src/tint/sem/depth_multisampled_texture_type_test.cc",
    "../../src/tint/sem/depth_texture_type_test.cc",
    "../../src/tint/sem/external_texture_type_test.cc",
    "../../src/tint/sem/f32_type_test.cc",
    "../../src/tint/sem/i32_type_test.cc",
    "../../src/tint/sem/matrix_type_test.cc",
    "../../src/tint/sem/multisampled_texture_type_test.cc",
    "../../src/tint/sem/pointer_type_test.cc",
    "../../src/tint/sem/reference_type_test.cc",
    "../../src/tint/sem/sampled_texture_type_test.cc",
    "../../src/tint/sem/sampler_type_test.cc",
    "../../src/tint/sem/sem_array_test.cc",
    "../../src/tint/sem/sem_struct_test.cc",
    "../../src/tint/sem/storage_texture_type_test.cc",
    "../../src/tint/sem/texture_type_test.cc",
    "../../src/tint/sem/type_manager_test.cc",
    "../../src/tint/sem/u32_type_test.cc",
    "../../src/tint/sem/vector_type_test.cc",
  ]
}

tint_unittests_source_set("tint_unittests_text_src") {
  sources = [ "../../src/tint/text/unicode_test.cc" ]
}

tint_unittests_source_set("tint_unittests_transform_src") {
  sources = [
    "../../src/tint/transform/add_empty_entry_point_test.cc",
    "../../src/tint/transform/add_spirv_block_attribute_test.cc",
    "../../src/tint/transform/array_length_from_uniform_test.cc",
    "../../src/tint/transform/binding_remapper_test.cc",
    "../../src/tint/transform/builtin_polyfill_test.cc",
    "../../src/tint/transform/calculate_array_length_test.cc",
    "../../src/tint/transform/canonicalize_entry_point_io_test.cc",
    "../../src/tint/transform/combine_samplers_test.cc",
    "../../src/tint/transform/decompose_memory_access_test.cc",
    "../../src/tint/transform/decompose_strided_array_test.cc",
    "../../src/tint/transform/decompose_strided_matrix_test.cc",
    "../../src/tint/transform/first_index_offset_test.cc",
    "../../src/tint/transform/fold_constants_test.cc",
    "../../src/tint/transform/fold_trivial_single_use_lets_test.cc",
    "../../src/tint/transform/for_loop_to_loop_test.cc",
    "../../src/tint/transform/localize_struct_array_assignment_test.cc",
    "../../src/tint/transform/loop_to_for_loop_test.cc",
    "../../src/tint/transform/module_scope_var_to_entry_point_param_test.cc",
    "../../src/tint/transform/multiplanar_external_texture_test.cc",
    "../../src/tint/transform/num_workgroups_from_uniform_test.cc",
    "../../src/tint/transform/promote_initializers_to_const_var_test.cc",
    "../../src/tint/transform/promote_side_effects_to_decl_test.cc",
    "../../src/tint/transform/remove_continue_in_switch_test.cc",
    "../../src/tint/transform/remove_phonies_test.cc",
    "../../src/tint/transform/remove_unreachable_statements_test.cc",
    "../../src/tint/transform/renamer_test.cc",
    "../../src/tint/transform/robustness_test.cc",
    "../../src/tint/transform/simplify_pointers_test.cc",
    "../../src/tint/transform/single_entry_point_test.cc",
    "../../src/tint/transform/test_helper.h",
    "../../src/tint/transform/transform_test.cc",
    "../../src/tint/transform/unshadow_test.cc",
    "../../src/tint/transform/unwind_discard_functions_test.cc",
    "../../src/tint/transform/utils/get_insertion_point_test.cc",
    "../../src/tint/transform/utils/hoist_to_decl_before_test.cc",
    "../../src/tint/transform/var_for_dynamic_index_test.cc",
    "../../src/tint/transform/vectorize_scalar_matrix_constructors_test.cc",
    "../../src/tint/transform/vertex_pulling_test.cc",
    "../../src/tint/transform/wrap_arrays_in_structs_test.cc",
    "../../src/tint/transform/zero_init_workgroup_memory_test.cc",
  ]
}

tint_unittests_source_set("tint_unittests_utils_src") {
  sources = [
    "../../src/tint/utils/crc32_test.cc",
    "../../src/tint/utils/defer_test.cc",
    "../../src/tint/utils/enum_set_test.cc",
    "../../src/tint/utils/hash_test.cc",
    "../../src/tint/utils/io/command_test.cc",
    "../../src/tint/utils/io/tmpfile_test.cc",
    "../../src/tint/utils/map_test.cc",
    "../../src/tint/utils/math_test.cc",
    "../../src/tint/utils/reverse_test.cc",
    "../../src/tint/utils/scoped_assignment_test.cc",
    "../../src/tint/utils/string_test.cc",
    "../../src/tint/utils/transform_test.cc",
    "../../src/tint/utils/unique_allocator_test.cc",
    "../../src/tint/utils/unique_vector_test.cc",
  ]
}

tint_unittests_source_set("tint_unittests_writer_src") {
  sources = [
    "../../src/tint/writer/append_vector_test.cc",
    "../../src/tint/writer/float_to_string_test.cc",
    "../../src/tint/writer/text_generator_test.cc",
  ]
}

tint_unittests_source_set("tint_unittests_spv_reader_src") {
  sources = [
    "../../src/tint/reader/spirv/enum_converter_test.cc",
    "../../src/tint/reader/spirv/fail_stream_test.cc",
    "../../src/tint/reader/spirv/function_arithmetic_test.cc",
    "../../src/tint/reader/spirv/function_bit_test.cc",
    "../../src/tint/reader/spirv/function_call_test.cc",
    "../../src/tint/reader/spirv/function_cfg_test.cc",
    "../../src/tint/reader/spirv/function_composite_test.cc",
    "../../src/tint/reader/spirv/function_conversion_test.cc",
    "../../src/tint/reader/spirv/function_decl_test.cc",
    "../../src/tint/reader/spirv/function_glsl_std_450_test.cc",
    "../../src/tint/reader/spirv/function_logical_test.cc",
    "../../src/tint/reader/spirv/function_memory_test.cc",
    "../../src/tint/reader/spirv/function_misc_test.cc",
    "../../src/tint/reader/spirv/function_var_test.cc",
    "../../src/tint/reader/spirv/namer_test.cc",
    "../../src/tint/reader/spirv/parser_impl_barrier_test.cc",
    "../../src/tint/reader/spirv/parser_impl_convert_member_decoration_test.cc",
    "../../src/tint/reader/spirv/parser_impl_convert_type_test.cc",
    "../../src/tint/reader/spirv/parser_impl_function_decl_test.cc",
    "../../src/tint/reader/spirv/parser_impl_get_decorations_test.cc",
    "../../src/tint/reader/spirv/parser_impl_handle_test.cc",
    "../../src/tint/reader/spirv/parser_impl_import_test.cc",
    "../../src/tint/reader/spirv/parser_impl_module_var_test.cc",
    "../../src/tint/reader/spirv/parser_impl_named_types_test.cc",
    "../../src/tint/reader/spirv/parser_impl_test.cc",
    "../../src/tint/reader/spirv/parser_impl_test_helper.cc",
    "../../src/tint/reader/spirv/parser_impl_test_helper.h",
    "../../src/tint/reader/spirv/parser_impl_user_name_test.cc",
    "../../src/tint/reader/spirv/parser_test.cc",
    "../../src/tint/reader/spirv/parser_type_test.cc",
    "../../src/tint/reader/spirv/spirv_tools_helpers_test.cc",
    "../../src/tint/reader/spirv/spirv_tools_helpers_test.h",
    "../../src/tint/reader/spirv/usage_test.cc",
  ]

  deps = [ "${tint_root_dir}/src/tint:libtint_spv_reader_src" ]
}

tint_unittests_source_set("tint_unittests_spv_writer_src") {
  sources = [
    "../../src/tint/writer/spirv/binary_writer_test.cc",
    "../../src/tint/writer/spirv/builder_accessor_expression_test.cc",
    "../../src/tint/writer/spirv/builder_assign_test.cc",
    "../../src/tint/writer/spirv/builder_binary_expression_test.cc",
    "../../src/tint/writer/spirv/builder_bitcast_expression_test.cc",
    "../../src/tint/writer/spirv/builder_block_test.cc",
    "../../src/tint/writer/spirv/builder_builtin_test.cc",
    "../../src/tint/writer/spirv/builder_builtin_texture_test.cc",
    "../../src/tint/writer/spirv/builder_call_test.cc",
    "../../src/tint/writer/spirv/builder_constructor_expression_test.cc",
    "../../src/tint/writer/spirv/builder_discard_test.cc",
    "../../src/tint/writer/spirv/builder_entry_point_test.cc",
    "../../src/tint/writer/spirv/builder_format_conversion_test.cc",
    "../../src/tint/writer/spirv/builder_function_attribute_test.cc",
    "../../src/tint/writer/spirv/builder_function_test.cc",
    "../../src/tint/writer/spirv/builder_function_variable_test.cc",
    "../../src/tint/writer/spirv/builder_global_variable_test.cc",
    "../../src/tint/writer/spirv/builder_ident_expression_test.cc",
    "../../src/tint/writer/spirv/builder_if_test.cc",
    "../../src/tint/writer/spirv/builder_literal_test.cc",
    "../../src/tint/writer/spirv/builder_loop_test.cc",
    "../../src/tint/writer/spirv/builder_return_test.cc",
    "../../src/tint/writer/spirv/builder_switch_test.cc",
    "../../src/tint/writer/spirv/builder_test.cc",
    "../../src/tint/writer/spirv/builder_type_test.cc",
    "../../src/tint/writer/spirv/builder_unary_op_expression_test.cc",
    "../../src/tint/writer/spirv/instruction_test.cc",
    "../../src/tint/writer/spirv/operand_test.cc",
    "../../src/tint/writer/spirv/scalar_constant_test.cc",
    "../../src/tint/writer/spirv/spv_dump.cc",
    "../../src/tint/writer/spirv/spv_dump.h",
    "../../src/tint/writer/spirv/test_helper.h",
  ]

  deps = [
    ":tint_unittests_ast_src",
    "${tint_root_dir}/src/tint:libtint_spv_writer_src",
    "${tint_spirv_tools_dir}/:spvtools",
  ]
}

tint_unittests_source_set("tint_unittests_wgsl_reader_src") {
  sources = [
    "../../src/tint/reader/wgsl/lexer_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_additive_expression_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_and_expression_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_argument_expression_list_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_assignment_stmt_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_body_stmt_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_break_stmt_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_bug_cases_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_call_stmt_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_case_body_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_const_expr_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_const_literal_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_continue_stmt_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_continuing_stmt_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_depth_texture_type_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_elseif_stmt_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_equality_expression_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_error_msg_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_error_resync_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_exclusive_or_expression_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_external_texture_type_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_for_stmt_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_function_attribute_list_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_function_attribute_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_function_decl_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_function_header_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_global_constant_decl_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_global_decl_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_global_variable_decl_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_if_stmt_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_inclusive_or_expression_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_logical_and_expression_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_logical_or_expression_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_loop_stmt_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_multiplicative_expression_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_param_list_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_paren_rhs_stmt_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_pipeline_stage_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_primary_expression_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_relational_expression_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_reserved_keyword_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_sampled_texture_type_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_sampler_type_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_shift_expression_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_singular_expression_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_statement_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_statements_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_storage_class_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_storage_texture_type_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_struct_attribute_decl_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_struct_body_decl_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_struct_decl_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_struct_member_attribute_decl_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_struct_member_attribute_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_struct_member_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_switch_body_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_switch_stmt_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_test_helper.cc",
    "../../src/tint/reader/wgsl/parser_impl_test_helper.h",
    "../../src/tint/reader/wgsl/parser_impl_texel_format_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_texture_sampler_types_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_type_alias_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_type_decl_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_unary_expression_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_variable_attribute_list_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_variable_attribute_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_variable_decl_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_variable_ident_decl_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_variable_qualifier_test.cc",
    "../../src/tint/reader/wgsl/parser_impl_variable_stmt_test.cc",
    "../../src/tint/reader/wgsl/parser_test.cc",
    "../../src/tint/reader/wgsl/token_test.cc",
  ]

  deps = [ "${tint_root_dir}/src/tint:libtint_wgsl_reader_src" ]
}

tint_unittests_source_set("tint_unittests_wgsl_writer_src") {
  sources = [
    "../../src/tint/writer/wgsl/generator_impl_alias_type_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_array_accessor_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_assign_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_binary_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_bitcast_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_block_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_break_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_call_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_case_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_cast_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_constructor_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_continue_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_discard_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_fallthrough_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_function_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_global_decl_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_identifier_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_if_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_literal_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_loop_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_member_accessor_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_return_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_switch_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_type_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_unary_op_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_variable_decl_statement_test.cc",
    "../../src/tint/writer/wgsl/generator_impl_variable_test.cc",
    "../../src/tint/writer/wgsl/test_helper.h",
  ]

  deps = [
    ":tint_unittests_ast_src",
    "${tint_root_dir}/src/tint:libtint_wgsl_writer_src",
  ]
}

tint_unittests_source_set("tint_unittests_msl_writer_src") {
  sources = [
    "../../src/tint/writer/msl/generator_impl_array_accessor_test.cc",
    "../../src/tint/writer/msl/generator_impl_assign_test.cc",
    "../../src/tint/writer/msl/generator_impl_binary_test.cc",
    "../../src/tint/writer/msl/generator_impl_bitcast_test.cc",
    "../../src/tint/writer/msl/generator_impl_block_test.cc",
    "../../src/tint/writer/msl/generator_impl_break_test.cc",
    "../../src/tint/writer/msl/generator_impl_builtin_test.cc",
    "../../src/tint/writer/msl/generator_impl_builtin_texture_test.cc",
    "../../src/tint/writer/msl/generator_impl_call_test.cc",
    "../../src/tint/writer/msl/generator_impl_case_test.cc",
    "../../src/tint/writer/msl/generator_impl_cast_test.cc",
    "../../src/tint/writer/msl/generator_impl_constructor_test.cc",
    "../../src/tint/writer/msl/generator_impl_continue_test.cc",
    "../../src/tint/writer/msl/generator_impl_discard_test.cc",
    "../../src/tint/writer/msl/generator_impl_function_test.cc",
    "../../src/tint/writer/msl/generator_impl_identifier_test.cc",
    "../../src/tint/writer/msl/generator_impl_if_test.cc",
    "../../src/tint/writer/msl/generator_impl_import_test.cc",
    "../../src/tint/writer/msl/generator_impl_loop_test.cc",
    "../../src/tint/writer/msl/generator_impl_member_accessor_test.cc",
    "../../src/tint/writer/msl/generator_impl_module_constant_test.cc",
    "../../src/tint/writer/msl/generator_impl_return_test.cc",
    "../../src/tint/writer/msl/generator_impl_sanitizer_test.cc",
    "../../src/tint/writer/msl/generator_impl_switch_test.cc",
    "../../src/tint/writer/msl/generator_impl_test.cc",
    "../../src/tint/writer/msl/generator_impl_type_test.cc",
    "../../src/tint/writer/msl/generator_impl_unary_op_test.cc",
    "../../src/tint/writer/msl/generator_impl_variable_decl_statement_test.cc",
    "../../src/tint/writer/msl/test_helper.h",
  ]

  deps = [
    ":tint_unittests_ast_src",
    "${tint_root_dir}/src/tint:libtint_msl_writer_src",
  ]
}

tint_unittests_source_set("tint_unittests_hlsl_writer_src") {
  sources = [
    "../../src/tint/writer/hlsl/generator_impl_array_accessor_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_assign_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_binary_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_bitcast_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_block_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_break_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_builtin_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_builtin_texture_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_call_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_case_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_cast_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_constructor_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_continue_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_discard_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_function_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_identifier_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_if_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_import_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_loop_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_member_accessor_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_module_constant_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_return_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_sanitizer_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_switch_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_type_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_unary_op_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_variable_decl_statement_test.cc",
    "../../src/tint/writer/hlsl/generator_impl_workgroup_var_test.cc",
    "../../src/tint/writer/hlsl/test_helper.h",
  ]

  deps = [
    ":tint_unittests_ast_src",
    "${tint_root_dir}/src/tint:libtint_hlsl_writer_src",
  ]
}

tint_unittests_source_set("tint_unittests_glsl_writer_src") {
  sources = [
    "../../src/tint/transform/glsl_test.cc",
    "../../src/tint/writer/glsl/generator_impl_array_accessor_test.cc",
    "../../src/tint/writer/glsl/generator_impl_assign_test.cc",
    "../../src/tint/writer/glsl/generator_impl_binary_test.cc",
    "../../src/tint/writer/glsl/generator_impl_bitcast_test.cc",
    "../../src/tint/writer/glsl/generator_impl_block_test.cc",
    "../../src/tint/writer/glsl/generator_impl_break_test.cc",
    "../../src/tint/writer/glsl/generator_impl_builtin_test.cc",
    "../../src/tint/writer/glsl/generator_impl_builtin_texture_test.cc",
    "../../src/tint/writer/glsl/generator_impl_call_test.cc",
    "../../src/tint/writer/glsl/generator_impl_case_test.cc",
    "../../src/tint/writer/glsl/generator_impl_cast_test.cc",
    "../../src/tint/writer/glsl/generator_impl_constructor_test.cc",
    "../../src/tint/writer/glsl/generator_impl_continue_test.cc",
    "../../src/tint/writer/glsl/generator_impl_discard_test.cc",
    "../../src/tint/writer/glsl/generator_impl_function_test.cc",
    "../../src/tint/writer/glsl/generator_impl_identifier_test.cc",
    "../../src/tint/writer/glsl/generator_impl_if_test.cc",
    "../../src/tint/writer/glsl/generator_impl_import_test.cc",
    "../../src/tint/writer/glsl/generator_impl_loop_test.cc",
    "../../src/tint/writer/glsl/generator_impl_member_accessor_test.cc",
    "../../src/tint/writer/glsl/generator_impl_module_constant_test.cc",
    "../../src/tint/writer/glsl/generator_impl_return_test.cc",
    "../../src/tint/writer/glsl/generator_impl_sanitizer_test.cc",
    "../../src/tint/writer/glsl/generator_impl_storage_buffer_test.cc",
    "../../src/tint/writer/glsl/generator_impl_switch_test.cc",
    "../../src/tint/writer/glsl/generator_impl_test.cc",
    "../../src/tint/writer/glsl/generator_impl_type_test.cc",
    "../../src/tint/writer/glsl/generator_impl_unary_op_test.cc",
    "../../src/tint/writer/glsl/generator_impl_uniform_buffer_test.cc",
    "../../src/tint/writer/glsl/generator_impl_variable_decl_statement_test.cc",
    "../../src/tint/writer/glsl/generator_impl_workgroup_var_test.cc",
    "../../src/tint/writer/glsl/test_helper.h",
  ]

  deps = [
    ":tint_unittests_ast_src",
    ":tint_unittests_transform_src",
    "${tint_root_dir}/src/tint:libtint_glsl_writer_src",
  ]
}

tint_unittests_source_set("tint_unittests_core_src") {
  sources = [
    "../../src/tint/builtin_table_test.cc",
    "../../src/tint/castable_test.cc",
    "../../src/tint/clone_context_test.cc",
    "../../src/tint/debug_test.cc",
    "../../src/tint/demangler_test.cc",
    "../../src/tint/program_builder_test.cc",
    "../../src/tint/program_test.cc",
    "../../src/tint/scope_stack_test.cc",
    "../../src/tint/source_test.cc",
    "../../src/tint/symbol_table_test.cc",
    "../../src/tint/symbol_test.cc",
    "../../src/tint/traits_test.cc",
    "../../src/tint/utils/block_allocator_test.cc",
  ]

  deps = [ ":tint_unittests_ast_src" ]
}

if (build_with_chromium) {
  tint_unittests_source_set("tint_unittests_fuzzer_src") {
    sources = [ "../../src/tint/fuzzers/random_generator_test.cc" ]

    deps = [
      ":tint_unittests_core_src",
      "${tint_root_dir}/src/tint/fuzzers:tint_fuzzer_common_src",
    ]
  }
}

source_set("tint_unittests_src") {
  testonly = true

  deps = [
    ":tint_unittests_ast_src",
    ":tint_unittests_core_src",
    ":tint_unittests_diagnostic_src",
    ":tint_unittests_inspector_src",
    ":tint_unittests_resolver_src",
    ":tint_unittests_sem_src",
    ":tint_unittests_text_src",
    ":tint_unittests_transform_src",
    ":tint_unittests_utils_src",
    ":tint_unittests_writer_src",
    "${tint_root_dir}/src/tint:libtint_wgsl_reader_src",
    "${tint_root_dir}/src/tint:libtint_wgsl_writer_src",
  ]

  if (tint_build_spv_reader) {
    deps += [ ":tint_unittests_spv_reader_src" ]
  }

  if (tint_build_spv_writer) {
    deps += [ ":tint_unittests_spv_writer_src" ]
  }

  if (tint_build_wgsl_reader) {
    deps += [ ":tint_unittests_wgsl_reader_src" ]
  }

  if (tint_build_wgsl_writer) {
    deps += [ ":tint_unittests_wgsl_writer_src" ]
  }

  if (tint_build_msl_writer) {
    deps += [ ":tint_unittests_msl_writer_src" ]
  }

  if (tint_build_hlsl_writer) {
    deps += [ ":tint_unittests_hlsl_writer_src" ]
  }

  if (tint_build_glsl_writer) {
    deps += [ ":tint_unittests_glsl_writer_src" ]
  }

  if (build_with_chromium) {
    deps += [ ":tint_unittests_fuzzer_src" ]
  }

  configs += [ ":tint_unittests_config" ]

  if (build_with_chromium) {
    configs -= [ "//build/config/compiler:chromium_code" ]
    configs += [ "//build/config/compiler:no_chromium_code" ]
  }
}

test("tint_unittests") {
  deps = [
    ":gmock_and_gtest",
    ":tint_unittests_src",
    "${tint_spirv_tools_dir}/:spvtools",
    "${tint_spirv_tools_dir}/:spvtools_opt",
    "${tint_spirv_tools_dir}/:spvtools_val",
  ]

  deps += [ ":tint_unittests_main" ]

  configs += [ ":tint_unittests_config" ]

  if (build_with_chromium) {
    configs -= [ "//build/config/compiler:chromium_code" ]
    configs += [ "//build/config/compiler:no_chromium_code" ]
  }

  testonly = true
}
