1cb93a386Sopenharmony_ci# Copyright 2021 The Tint Authors
2cb93a386Sopenharmony_ci#
3cb93a386Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
4cb93a386Sopenharmony_ci# you may not use this file except in compliance with the License.
5cb93a386Sopenharmony_ci# You may obtain a copy of the License at
6cb93a386Sopenharmony_ci#
7cb93a386Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
8cb93a386Sopenharmony_ci#
9cb93a386Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
10cb93a386Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
11cb93a386Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12cb93a386Sopenharmony_ci# See the License for the specific language governing permissions and
13cb93a386Sopenharmony_ci# limitations under the License.
14cb93a386Sopenharmony_ci
15cb93a386Sopenharmony_ciimport("${skia_root_dir}/build_overrides/build.gni")
16cb93a386Sopenharmony_ciimport("${skia_root_dir}/testing/test.gni")
17cb93a386Sopenharmony_ciimport("../tint_overrides_with_defaults.gni")
18cb93a386Sopenharmony_ci
19cb93a386Sopenharmony_ci###############################################################################
20cb93a386Sopenharmony_ci# Gtest Gmock - Handle building inside and outside of Chromium.
21cb93a386Sopenharmony_ci###############################################################################
22cb93a386Sopenharmony_ci# When building outside of Chromium we need to define our own targets for GTest
23cb93a386Sopenharmony_ci# and GMock. However when compiling inside of Chromium we need to reuse the
24cb93a386Sopenharmony_ci# existing targets, both because Chromium has a special harness for swarming
25cb93a386Sopenharmony_ci# and because otherwise the "gn check" fails.
26cb93a386Sopenharmony_ci
27cb93a386Sopenharmony_ciif (!build_with_chromium) {
28cb93a386Sopenharmony_ci  # When we aren't in Chromium we define out own targets based on the location
29cb93a386Sopenharmony_ci  # of the googletest repo.
30cb93a386Sopenharmony_ci  config("gtest_config") {
31cb93a386Sopenharmony_ci    include_dirs = [
32cb93a386Sopenharmony_ci      "${tint_googletest_dir}/googletest",
33cb93a386Sopenharmony_ci      "${tint_googletest_dir}/googletest/include",
34cb93a386Sopenharmony_ci    ]
35cb93a386Sopenharmony_ci  }
36cb93a386Sopenharmony_ci  static_library("gtest") {
37cb93a386Sopenharmony_ci    testonly = true
38cb93a386Sopenharmony_ci    sources = [ "${tint_googletest_dir}/googletest/src/gtest-all.cc" ]
39cb93a386Sopenharmony_ci    public_configs = [ ":gtest_config" ]
40cb93a386Sopenharmony_ci  }
41cb93a386Sopenharmony_ci
42cb93a386Sopenharmony_ci  config("gmock_config") {
43cb93a386Sopenharmony_ci    include_dirs = [
44cb93a386Sopenharmony_ci      "${tint_googletest_dir}/googlemock",
45cb93a386Sopenharmony_ci      "${tint_googletest_dir}/googlemock/include",
46cb93a386Sopenharmony_ci      "${tint_googletest_dir}/googletest/include",
47cb93a386Sopenharmony_ci    ]
48cb93a386Sopenharmony_ci  }
49cb93a386Sopenharmony_ci
50cb93a386Sopenharmony_ci  static_library("gmock") {
51cb93a386Sopenharmony_ci    testonly = true
52cb93a386Sopenharmony_ci    sources = [ "${tint_googletest_dir}/googlemock/src/gmock-all.cc" ]
53cb93a386Sopenharmony_ci    public_configs = [ ":gmock_config" ]
54cb93a386Sopenharmony_ci  }
55cb93a386Sopenharmony_ci
56cb93a386Sopenharmony_ci  group("gmock_and_gtest") {
57cb93a386Sopenharmony_ci    testonly = true
58cb93a386Sopenharmony_ci    public_deps = [
59cb93a386Sopenharmony_ci      ":gmock",
60cb93a386Sopenharmony_ci      ":gtest",
61cb93a386Sopenharmony_ci    ]
62cb93a386Sopenharmony_ci  }
63cb93a386Sopenharmony_ci} else {
64cb93a386Sopenharmony_ci  # When we are in Chromium we reuse its targets, and also add some deps that
65cb93a386Sopenharmony_ci  # are needed to launch the test in swarming mode.
66cb93a386Sopenharmony_ci  group("gmock_and_gtest") {
67cb93a386Sopenharmony_ci    testonly = true
68cb93a386Sopenharmony_ci    public_deps = [
69cb93a386Sopenharmony_ci      "${skia_root_dir}/base",
70cb93a386Sopenharmony_ci      "${skia_root_dir}/base/test:test_support",
71cb93a386Sopenharmony_ci      "${skia_root_dir}/testing/gmock",
72cb93a386Sopenharmony_ci      "${skia_root_dir}/testing/gtest",
73cb93a386Sopenharmony_ci      "${skia_third_party_dir}/googletest:gmock",
74cb93a386Sopenharmony_ci    ]
75cb93a386Sopenharmony_ci  }
76cb93a386Sopenharmony_ci}
77cb93a386Sopenharmony_ci
78cb93a386Sopenharmony_ci###############################################################################
79cb93a386Sopenharmony_ci# Wrapping of Chromium targets
80cb93a386Sopenharmony_ci###############################################################################
81cb93a386Sopenharmony_ci# These targets are separated because they are Chromium sources files that
82cb93a386Sopenharmony_ci# can't use the tint_internal config, otherwise Tint's warning flags get
83cb93a386Sopenharmony_ci# applied while compiling a bunch of Chromium's //base (via header inclusion)
84cb93a386Sopenharmony_cisource_set("tint_unittests_main") {
85cb93a386Sopenharmony_ci  testonly = true
86cb93a386Sopenharmony_ci  deps = [ ":gmock_and_gtest" ]
87cb93a386Sopenharmony_ci  if (build_with_chromium) {
88cb93a386Sopenharmony_ci    sources = [ "${skia_root_dir}/gpu/tint_unittests_main.cc" ]
89cb93a386Sopenharmony_ci  } else {
90cb93a386Sopenharmony_ci    sources = [ "../src/test_main.cc" ]
91cb93a386Sopenharmony_ci    configs += [ ":tint_unittests_config" ]
92cb93a386Sopenharmony_ci    deps += [
93cb93a386Sopenharmony_ci      ":tint_unittests_hlsl_writer_src",
94cb93a386Sopenharmony_ci      ":tint_unittests_msl_writer_src",
95cb93a386Sopenharmony_ci      ":tint_unittests_spv_reader_src",
96cb93a386Sopenharmony_ci      "${tint_root_dir}/src:libtint",
97cb93a386Sopenharmony_ci    ]
98cb93a386Sopenharmony_ci  }
99cb93a386Sopenharmony_ci}
100cb93a386Sopenharmony_ci
101cb93a386Sopenharmony_ci###############################################################################
102cb93a386Sopenharmony_ci# Tests - For libtint core and optional modules
103cb93a386Sopenharmony_ci###############################################################################
104cb93a386Sopenharmony_ciconfig("tint_unittests_config") {
105cb93a386Sopenharmony_ci  include_dirs = [
106cb93a386Sopenharmony_ci    "${tint_googletest_dir}/googlemock/include",
107cb93a386Sopenharmony_ci    "${tint_googletest_dir}/googletest/include",
108cb93a386Sopenharmony_ci  ]
109cb93a386Sopenharmony_ci
110cb93a386Sopenharmony_ci  configs = [
111cb93a386Sopenharmony_ci    "${tint_root_dir}/src:tint_common_config",
112cb93a386Sopenharmony_ci    "${tint_root_dir}/src:tint_public_config",
113cb93a386Sopenharmony_ci  ]
114cb93a386Sopenharmony_ci}
115cb93a386Sopenharmony_ci
116cb93a386Sopenharmony_citemplate("tint_unittests_source_set") {
117cb93a386Sopenharmony_ci  source_set(target_name) {
118cb93a386Sopenharmony_ci    forward_variables_from(invoker, "*", [ "configs" ])
119cb93a386Sopenharmony_ci
120cb93a386Sopenharmony_ci    if (defined(invoker.configs)) {
121cb93a386Sopenharmony_ci      configs += invoker.configs
122cb93a386Sopenharmony_ci    }
123cb93a386Sopenharmony_ci    configs += [ ":tint_unittests_config" ]
124cb93a386Sopenharmony_ci    if (build_with_chromium) {
125cb93a386Sopenharmony_ci      configs -= [ "${skia_root_dir}/build/config/compiler:chromium_code" ]
126cb93a386Sopenharmony_ci      configs += [ "${skia_root_dir}/build/config/compiler:no_chromium_code" ]
127cb93a386Sopenharmony_ci    }
128cb93a386Sopenharmony_ci
129cb93a386Sopenharmony_ci    testonly = true
130cb93a386Sopenharmony_ci
131cb93a386Sopenharmony_ci    if (!defined(invoker.deps)) {
132cb93a386Sopenharmony_ci      deps = []
133cb93a386Sopenharmony_ci    }
134cb93a386Sopenharmony_ci    deps += [
135cb93a386Sopenharmony_ci      ":gmock_and_gtest",
136cb93a386Sopenharmony_ci      "${tint_root_dir}/src:libtint",
137cb93a386Sopenharmony_ci      "${tint_root_dir}/src:tint_utils_io",
138cb93a386Sopenharmony_ci    ]
139cb93a386Sopenharmony_ci  }
140cb93a386Sopenharmony_ci}
141cb93a386Sopenharmony_ci
142cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_ast_src") {
143cb93a386Sopenharmony_ci  sources = [
144cb93a386Sopenharmony_ci    "../src/ast/alias_test.cc",
145cb93a386Sopenharmony_ci    "../src/ast/array_test.cc",
146cb93a386Sopenharmony_ci    "../src/ast/assignment_statement_test.cc",
147cb93a386Sopenharmony_ci    "../src/ast/atomic_test.cc",
148cb93a386Sopenharmony_ci    "../src/ast/binary_expression_test.cc",
149cb93a386Sopenharmony_ci    "../src/ast/binding_decoration_test.cc",
150cb93a386Sopenharmony_ci    "../src/ast/bitcast_expression_test.cc",
151cb93a386Sopenharmony_ci    "../src/ast/block_statement_test.cc",
152cb93a386Sopenharmony_ci    "../src/ast/bool_literal_expression_test.cc",
153cb93a386Sopenharmony_ci    "../src/ast/bool_test.cc",
154cb93a386Sopenharmony_ci    "../src/ast/break_statement_test.cc",
155cb93a386Sopenharmony_ci    "../src/ast/builtin_decoration_test.cc",
156cb93a386Sopenharmony_ci    "../src/ast/call_expression_test.cc",
157cb93a386Sopenharmony_ci    "../src/ast/call_statement_test.cc",
158cb93a386Sopenharmony_ci    "../src/ast/case_statement_test.cc",
159cb93a386Sopenharmony_ci    "../src/ast/continue_statement_test.cc",
160cb93a386Sopenharmony_ci    "../src/ast/depth_multisampled_texture_test.cc",
161cb93a386Sopenharmony_ci    "../src/ast/depth_texture_test.cc",
162cb93a386Sopenharmony_ci    "../src/ast/discard_statement_test.cc",
163cb93a386Sopenharmony_ci    "../src/ast/else_statement_test.cc",
164cb93a386Sopenharmony_ci    "../src/ast/external_texture_test.cc",
165cb93a386Sopenharmony_ci    "../src/ast/f32_test.cc",
166cb93a386Sopenharmony_ci    "../src/ast/fallthrough_statement_test.cc",
167cb93a386Sopenharmony_ci    "../src/ast/float_literal_expression_test.cc",
168cb93a386Sopenharmony_ci    "../src/ast/for_loop_statement_test.cc",
169cb93a386Sopenharmony_ci    "../src/ast/function_test.cc",
170cb93a386Sopenharmony_ci    "../src/ast/group_decoration_test.cc",
171cb93a386Sopenharmony_ci    "../src/ast/i32_test.cc",
172cb93a386Sopenharmony_ci    "../src/ast/identifier_expression_test.cc",
173cb93a386Sopenharmony_ci    "../src/ast/if_statement_test.cc",
174cb93a386Sopenharmony_ci    "../src/ast/index_accessor_expression_test.cc",
175cb93a386Sopenharmony_ci    "../src/ast/int_literal_expression_test.cc",
176cb93a386Sopenharmony_ci    "../src/ast/interpolate_decoration_test.cc",
177cb93a386Sopenharmony_ci    "../src/ast/intrinsic_texture_helper_test.cc",
178cb93a386Sopenharmony_ci    "../src/ast/intrinsic_texture_helper_test.h",
179cb93a386Sopenharmony_ci    "../src/ast/invariant_decoration_test.cc",
180cb93a386Sopenharmony_ci    "../src/ast/location_decoration_test.cc",
181cb93a386Sopenharmony_ci    "../src/ast/loop_statement_test.cc",
182cb93a386Sopenharmony_ci    "../src/ast/matrix_test.cc",
183cb93a386Sopenharmony_ci    "../src/ast/member_accessor_expression_test.cc",
184cb93a386Sopenharmony_ci    "../src/ast/module_clone_test.cc",
185cb93a386Sopenharmony_ci    "../src/ast/module_test.cc",
186cb93a386Sopenharmony_ci    "../src/ast/multisampled_texture_test.cc",
187cb93a386Sopenharmony_ci    "../src/ast/override_decoration_test.cc",
188cb93a386Sopenharmony_ci    "../src/ast/phony_expression_test.cc",
189cb93a386Sopenharmony_ci    "../src/ast/pointer_test.cc",
190cb93a386Sopenharmony_ci    "../src/ast/return_statement_test.cc",
191cb93a386Sopenharmony_ci    "../src/ast/sampled_texture_test.cc",
192cb93a386Sopenharmony_ci    "../src/ast/sampler_test.cc",
193cb93a386Sopenharmony_ci    "../src/ast/sint_literal_expression_test.cc",
194cb93a386Sopenharmony_ci    "../src/ast/stage_decoration_test.cc",
195cb93a386Sopenharmony_ci    "../src/ast/storage_texture_test.cc",
196cb93a386Sopenharmony_ci    "../src/ast/stride_decoration_test.cc",
197cb93a386Sopenharmony_ci    "../src/ast/struct_member_align_decoration_test.cc",
198cb93a386Sopenharmony_ci    "../src/ast/struct_member_offset_decoration_test.cc",
199cb93a386Sopenharmony_ci    "../src/ast/struct_member_size_decoration_test.cc",
200cb93a386Sopenharmony_ci    "../src/ast/struct_member_test.cc",
201cb93a386Sopenharmony_ci    "../src/ast/struct_test.cc",
202cb93a386Sopenharmony_ci    "../src/ast/switch_statement_test.cc",
203cb93a386Sopenharmony_ci    "../src/ast/test_helper.h",
204cb93a386Sopenharmony_ci    "../src/ast/texture_test.cc",
205cb93a386Sopenharmony_ci    "../src/ast/traverse_expressions_test.cc",
206cb93a386Sopenharmony_ci    "../src/ast/u32_test.cc",
207cb93a386Sopenharmony_ci    "../src/ast/uint_literal_expression_test.cc",
208cb93a386Sopenharmony_ci    "../src/ast/unary_op_expression_test.cc",
209cb93a386Sopenharmony_ci    "../src/ast/variable_decl_statement_test.cc",
210cb93a386Sopenharmony_ci    "../src/ast/variable_test.cc",
211cb93a386Sopenharmony_ci    "../src/ast/vector_test.cc",
212cb93a386Sopenharmony_ci    "../src/ast/workgroup_decoration_test.cc",
213cb93a386Sopenharmony_ci  ]
214cb93a386Sopenharmony_ci}
215cb93a386Sopenharmony_ci
216cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_diagnostic_src") {
217cb93a386Sopenharmony_ci  sources = [
218cb93a386Sopenharmony_ci    "../src/diagnostic/formatter_test.cc",
219cb93a386Sopenharmony_ci    "../src/diagnostic/printer_test.cc",
220cb93a386Sopenharmony_ci  ]
221cb93a386Sopenharmony_ci}
222cb93a386Sopenharmony_ci
223cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_inspector_src") {
224cb93a386Sopenharmony_ci  sources = [
225cb93a386Sopenharmony_ci    "../src/inspector/inspector_test.cc",
226cb93a386Sopenharmony_ci    "../src/inspector/test_inspector_builder.cc",
227cb93a386Sopenharmony_ci    "../src/inspector/test_inspector_builder.h",
228cb93a386Sopenharmony_ci    "../src/inspector/test_inspector_runner.cc",
229cb93a386Sopenharmony_ci    "../src/inspector/test_inspector_runner.h",
230cb93a386Sopenharmony_ci  ]
231cb93a386Sopenharmony_ci}
232cb93a386Sopenharmony_ci
233cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_resolver_src") {
234cb93a386Sopenharmony_ci  sources = [
235cb93a386Sopenharmony_ci    "../src/resolver/array_accessor_test.cc",
236cb93a386Sopenharmony_ci    "../src/resolver/assignment_validation_test.cc",
237cb93a386Sopenharmony_ci    "../src/resolver/atomics_test.cc",
238cb93a386Sopenharmony_ci    "../src/resolver/atomics_validation_test.cc",
239cb93a386Sopenharmony_ci    "../src/resolver/bitcast_validation_test.cc",
240cb93a386Sopenharmony_ci    "../src/resolver/builtins_validation_test.cc",
241cb93a386Sopenharmony_ci    "../src/resolver/call_test.cc",
242cb93a386Sopenharmony_ci    "../src/resolver/call_validation_test.cc",
243cb93a386Sopenharmony_ci    "../src/resolver/compound_statement_test.cc",
244cb93a386Sopenharmony_ci    "../src/resolver/control_block_validation_test.cc",
245cb93a386Sopenharmony_ci    "../src/resolver/decoration_validation_test.cc",
246cb93a386Sopenharmony_ci    "../src/resolver/dependency_graph_test.cc",
247cb93a386Sopenharmony_ci    "../src/resolver/entry_point_validation_test.cc",
248cb93a386Sopenharmony_ci    "../src/resolver/function_validation_test.cc",
249cb93a386Sopenharmony_ci    "../src/resolver/host_shareable_validation_test.cc",
250cb93a386Sopenharmony_ci    "../src/resolver/intrinsic_test.cc",
251cb93a386Sopenharmony_ci    "../src/resolver/intrinsic_validation_test.cc",
252cb93a386Sopenharmony_ci    "../src/resolver/is_host_shareable_test.cc",
253cb93a386Sopenharmony_ci    "../src/resolver/is_storeable_test.cc",
254cb93a386Sopenharmony_ci    "../src/resolver/pipeline_overridable_constant_test.cc",
255cb93a386Sopenharmony_ci    "../src/resolver/ptr_ref_test.cc",
256cb93a386Sopenharmony_ci    "../src/resolver/ptr_ref_validation_test.cc",
257cb93a386Sopenharmony_ci    "../src/resolver/resolver_behavior_test.cc",
258cb93a386Sopenharmony_ci    "../src/resolver/resolver_constants_test.cc",
259cb93a386Sopenharmony_ci    "../src/resolver/resolver_test.cc",
260cb93a386Sopenharmony_ci    "../src/resolver/resolver_test_helper.cc",
261cb93a386Sopenharmony_ci    "../src/resolver/resolver_test_helper.h",
262cb93a386Sopenharmony_ci    "../src/resolver/storage_class_layout_validation_test.cc",
263cb93a386Sopenharmony_ci    "../src/resolver/storage_class_validation_test.cc",
264cb93a386Sopenharmony_ci    "../src/resolver/struct_layout_test.cc",
265cb93a386Sopenharmony_ci    "../src/resolver/struct_pipeline_stage_use_test.cc",
266cb93a386Sopenharmony_ci    "../src/resolver/struct_storage_class_use_test.cc",
267cb93a386Sopenharmony_ci    "../src/resolver/type_constructor_validation_test.cc",
268cb93a386Sopenharmony_ci    "../src/resolver/type_validation_test.cc",
269cb93a386Sopenharmony_ci    "../src/resolver/validation_test.cc",
270cb93a386Sopenharmony_ci    "../src/resolver/var_let_test.cc",
271cb93a386Sopenharmony_ci    "../src/resolver/var_let_validation_test.cc",
272cb93a386Sopenharmony_ci  ]
273cb93a386Sopenharmony_ci  deps = [ ":tint_unittests_ast_src" ]
274cb93a386Sopenharmony_ci}
275cb93a386Sopenharmony_ci
276cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_sem_src") {
277cb93a386Sopenharmony_ci  sources = [
278cb93a386Sopenharmony_ci    "../src/sem/atomic_type_test.cc",
279cb93a386Sopenharmony_ci    "../src/sem/bool_type_test.cc",
280cb93a386Sopenharmony_ci    "../src/sem/depth_multisampled_texture_type_test.cc",
281cb93a386Sopenharmony_ci    "../src/sem/depth_texture_type_test.cc",
282cb93a386Sopenharmony_ci    "../src/sem/external_texture_type_test.cc",
283cb93a386Sopenharmony_ci    "../src/sem/f32_type_test.cc",
284cb93a386Sopenharmony_ci    "../src/sem/i32_type_test.cc",
285cb93a386Sopenharmony_ci    "../src/sem/intrinsic_test.cc",
286cb93a386Sopenharmony_ci    "../src/sem/matrix_type_test.cc",
287cb93a386Sopenharmony_ci    "../src/sem/multisampled_texture_type_test.cc",
288cb93a386Sopenharmony_ci    "../src/sem/pointer_type_test.cc",
289cb93a386Sopenharmony_ci    "../src/sem/reference_type_test.cc",
290cb93a386Sopenharmony_ci    "../src/sem/sampled_texture_type_test.cc",
291cb93a386Sopenharmony_ci    "../src/sem/sampler_type_test.cc",
292cb93a386Sopenharmony_ci    "../src/sem/sem_array_test.cc",
293cb93a386Sopenharmony_ci    "../src/sem/sem_struct_test.cc",
294cb93a386Sopenharmony_ci    "../src/sem/storage_texture_type_test.cc",
295cb93a386Sopenharmony_ci    "../src/sem/texture_type_test.cc",
296cb93a386Sopenharmony_ci    "../src/sem/type_manager_test.cc",
297cb93a386Sopenharmony_ci    "../src/sem/u32_type_test.cc",
298cb93a386Sopenharmony_ci    "../src/sem/vector_type_test.cc",
299cb93a386Sopenharmony_ci  ]
300cb93a386Sopenharmony_ci}
301cb93a386Sopenharmony_ci
302cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_transform_src") {
303cb93a386Sopenharmony_ci  sources = [
304cb93a386Sopenharmony_ci    "../src/transform/add_empty_entry_point_test.cc",
305cb93a386Sopenharmony_ci    "../src/transform/array_length_from_uniform_test.cc",
306cb93a386Sopenharmony_ci    "../src/transform/binding_remapper_test.cc",
307cb93a386Sopenharmony_ci    "../src/transform/calculate_array_length_test.cc",
308cb93a386Sopenharmony_ci    "../src/transform/canonicalize_entry_point_io_test.cc",
309cb93a386Sopenharmony_ci    "../src/transform/decompose_memory_access_test.cc",
310cb93a386Sopenharmony_ci    "../src/transform/decompose_strided_matrix_test.cc",
311cb93a386Sopenharmony_ci    "../src/transform/external_texture_transform_test.cc",
312cb93a386Sopenharmony_ci    "../src/transform/first_index_offset_test.cc",
313cb93a386Sopenharmony_ci    "../src/transform/fold_constants_test.cc",
314cb93a386Sopenharmony_ci    "../src/transform/fold_trivial_single_use_lets_test.cc",
315cb93a386Sopenharmony_ci    "../src/transform/for_loop_to_loop_test.cc",
316cb93a386Sopenharmony_ci    "../src/transform/loop_to_for_loop_test.cc",
317cb93a386Sopenharmony_ci    "../src/transform/module_scope_var_to_entry_point_param_test.cc",
318cb93a386Sopenharmony_ci    "../src/transform/multiplanar_external_texture_test.cc",
319cb93a386Sopenharmony_ci    "../src/transform/num_workgroups_from_uniform_test.cc",
320cb93a386Sopenharmony_ci    "../src/transform/pad_array_elements_test.cc",
321cb93a386Sopenharmony_ci    "../src/transform/promote_initializers_to_const_var_test.cc",
322cb93a386Sopenharmony_ci    "../src/transform/remove_phonies_test.cc",
323cb93a386Sopenharmony_ci    "../src/transform/remove_unreachable_statements_test.cc",
324cb93a386Sopenharmony_ci    "../src/transform/renamer_test.cc",
325cb93a386Sopenharmony_ci    "../src/transform/robustness_test.cc",
326cb93a386Sopenharmony_ci    "../src/transform/simplify_pointers_test.cc",
327cb93a386Sopenharmony_ci    "../src/transform/single_entry_point_test.cc",
328cb93a386Sopenharmony_ci    "../src/transform/test_helper.h",
329cb93a386Sopenharmony_ci    "../src/transform/transform_test.cc",
330cb93a386Sopenharmony_ci    "../src/transform/unshadow_test.cc",
331cb93a386Sopenharmony_ci    "../src/transform/vectorize_scalar_matrix_constructors_test.cc",
332cb93a386Sopenharmony_ci    "../src/transform/vertex_pulling_test.cc",
333cb93a386Sopenharmony_ci    "../src/transform/wrap_arrays_in_structs_test.cc",
334cb93a386Sopenharmony_ci    "../src/transform/zero_init_workgroup_memory_test.cc",
335cb93a386Sopenharmony_ci  ]
336cb93a386Sopenharmony_ci}
337cb93a386Sopenharmony_ci
338cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_utils_src") {
339cb93a386Sopenharmony_ci  sources = [
340cb93a386Sopenharmony_ci    "../src/utils/defer_test.cc",
341cb93a386Sopenharmony_ci    "../src/utils/enum_set_test.cc",
342cb93a386Sopenharmony_ci    "../src/utils/hash_test.cc",
343cb93a386Sopenharmony_ci    "../src/utils/io/command_test.cc",
344cb93a386Sopenharmony_ci    "../src/utils/io/tmpfile_test.cc",
345cb93a386Sopenharmony_ci    "../src/utils/map_test.cc",
346cb93a386Sopenharmony_ci    "../src/utils/math_test.cc",
347cb93a386Sopenharmony_ci    "../src/utils/reverse_test.cc",
348cb93a386Sopenharmony_ci    "../src/utils/scoped_assignment_test.cc",
349cb93a386Sopenharmony_ci    "../src/utils/string_test.cc",
350cb93a386Sopenharmony_ci    "../src/utils/transform_test.cc",
351cb93a386Sopenharmony_ci    "../src/utils/unique_vector_test.cc",
352cb93a386Sopenharmony_ci  ]
353cb93a386Sopenharmony_ci}
354cb93a386Sopenharmony_ci
355cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_writer_src") {
356cb93a386Sopenharmony_ci  sources = [
357cb93a386Sopenharmony_ci    "../src/writer/append_vector_test.cc",
358cb93a386Sopenharmony_ci    "../src/writer/float_to_string_test.cc",
359cb93a386Sopenharmony_ci    "../src/writer/text_generator_test.cc",
360cb93a386Sopenharmony_ci  ]
361cb93a386Sopenharmony_ci}
362cb93a386Sopenharmony_ci
363cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_spv_reader_src") {
364cb93a386Sopenharmony_ci  sources = [
365cb93a386Sopenharmony_ci    "../src/reader/spirv/enum_converter_test.cc",
366cb93a386Sopenharmony_ci    "../src/reader/spirv/fail_stream_test.cc",
367cb93a386Sopenharmony_ci    "../src/reader/spirv/function_arithmetic_test.cc",
368cb93a386Sopenharmony_ci    "../src/reader/spirv/function_bit_test.cc",
369cb93a386Sopenharmony_ci    "../src/reader/spirv/function_call_test.cc",
370cb93a386Sopenharmony_ci    "../src/reader/spirv/function_cfg_test.cc",
371cb93a386Sopenharmony_ci    "../src/reader/spirv/function_composite_test.cc",
372cb93a386Sopenharmony_ci    "../src/reader/spirv/function_conversion_test.cc",
373cb93a386Sopenharmony_ci    "../src/reader/spirv/function_decl_test.cc",
374cb93a386Sopenharmony_ci    "../src/reader/spirv/function_glsl_std_450_test.cc",
375cb93a386Sopenharmony_ci    "../src/reader/spirv/function_logical_test.cc",
376cb93a386Sopenharmony_ci    "../src/reader/spirv/function_memory_test.cc",
377cb93a386Sopenharmony_ci    "../src/reader/spirv/function_misc_test.cc",
378cb93a386Sopenharmony_ci    "../src/reader/spirv/function_var_test.cc",
379cb93a386Sopenharmony_ci    "../src/reader/spirv/namer_test.cc",
380cb93a386Sopenharmony_ci    "../src/reader/spirv/parser_impl_barrier_test.cc",
381cb93a386Sopenharmony_ci    "../src/reader/spirv/parser_impl_convert_member_decoration_test.cc",
382cb93a386Sopenharmony_ci    "../src/reader/spirv/parser_impl_convert_type_test.cc",
383cb93a386Sopenharmony_ci    "../src/reader/spirv/parser_impl_function_decl_test.cc",
384cb93a386Sopenharmony_ci    "../src/reader/spirv/parser_impl_get_decorations_test.cc",
385cb93a386Sopenharmony_ci    "../src/reader/spirv/parser_impl_handle_test.cc",
386cb93a386Sopenharmony_ci    "../src/reader/spirv/parser_impl_import_test.cc",
387cb93a386Sopenharmony_ci    "../src/reader/spirv/parser_impl_module_var_test.cc",
388cb93a386Sopenharmony_ci    "../src/reader/spirv/parser_impl_named_types_test.cc",
389cb93a386Sopenharmony_ci    "../src/reader/spirv/parser_impl_test.cc",
390cb93a386Sopenharmony_ci    "../src/reader/spirv/parser_impl_test_helper.cc",
391cb93a386Sopenharmony_ci    "../src/reader/spirv/parser_impl_test_helper.h",
392cb93a386Sopenharmony_ci    "../src/reader/spirv/parser_impl_user_name_test.cc",
393cb93a386Sopenharmony_ci    "../src/reader/spirv/parser_test.cc",
394cb93a386Sopenharmony_ci    "../src/reader/spirv/parser_type_test.cc",
395cb93a386Sopenharmony_ci    "../src/reader/spirv/spirv_tools_helpers_test.cc",
396cb93a386Sopenharmony_ci    "../src/reader/spirv/spirv_tools_helpers_test.h",
397cb93a386Sopenharmony_ci    "../src/reader/spirv/usage_test.cc",
398cb93a386Sopenharmony_ci  ]
399cb93a386Sopenharmony_ci
400cb93a386Sopenharmony_ci  deps = [ "${tint_root_dir}/src:libtint_spv_reader_src" ]
401cb93a386Sopenharmony_ci}
402cb93a386Sopenharmony_ci
403cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_spv_writer_src") {
404cb93a386Sopenharmony_ci  sources = [
405cb93a386Sopenharmony_ci    "../src/writer/spirv/binary_writer_test.cc",
406cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_accessor_expression_test.cc",
407cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_assign_test.cc",
408cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_binary_expression_test.cc",
409cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_bitcast_expression_test.cc",
410cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_block_test.cc",
411cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_call_test.cc",
412cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_constructor_expression_test.cc",
413cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_discard_test.cc",
414cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_entry_point_test.cc",
415cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_format_conversion_test.cc",
416cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_function_decoration_test.cc",
417cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_function_test.cc",
418cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_function_variable_test.cc",
419cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_global_variable_test.cc",
420cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_ident_expression_test.cc",
421cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_if_test.cc",
422cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_intrinsic_test.cc",
423cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_intrinsic_texture_test.cc",
424cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_literal_test.cc",
425cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_loop_test.cc",
426cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_return_test.cc",
427cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_switch_test.cc",
428cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_test.cc",
429cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_type_test.cc",
430cb93a386Sopenharmony_ci    "../src/writer/spirv/builder_unary_op_expression_test.cc",
431cb93a386Sopenharmony_ci    "../src/writer/spirv/instruction_test.cc",
432cb93a386Sopenharmony_ci    "../src/writer/spirv/operand_test.cc",
433cb93a386Sopenharmony_ci    "../src/writer/spirv/scalar_constant_test.cc",
434cb93a386Sopenharmony_ci    "../src/writer/spirv/spv_dump.cc",
435cb93a386Sopenharmony_ci    "../src/writer/spirv/spv_dump.h",
436cb93a386Sopenharmony_ci    "../src/writer/spirv/test_helper.h",
437cb93a386Sopenharmony_ci  ]
438cb93a386Sopenharmony_ci
439cb93a386Sopenharmony_ci  deps = [
440cb93a386Sopenharmony_ci    ":tint_unittests_ast_src",
441cb93a386Sopenharmony_ci    "${tint_root_dir}/src:libtint_spv_writer_src",
442cb93a386Sopenharmony_ci    "${tint_spirv_tools_dir}/:spvtools",
443cb93a386Sopenharmony_ci  ]
444cb93a386Sopenharmony_ci}
445cb93a386Sopenharmony_ci
446cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_wgsl_reader_src") {
447cb93a386Sopenharmony_ci  sources = [
448cb93a386Sopenharmony_ci    "../src/reader/wgsl/lexer_test.cc",
449cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_additive_expression_test.cc",
450cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_and_expression_test.cc",
451cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_argument_expression_list_test.cc",
452cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_assignment_stmt_test.cc",
453cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_body_stmt_test.cc",
454cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_break_stmt_test.cc",
455cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_bug_cases_test.cc",
456cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_call_stmt_test.cc",
457cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_case_body_test.cc",
458cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_const_expr_test.cc",
459cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_const_literal_test.cc",
460cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_continue_stmt_test.cc",
461cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_continuing_stmt_test.cc",
462cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_depth_texture_type_test.cc",
463cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_else_stmt_test.cc",
464cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_elseif_stmt_test.cc",
465cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_equality_expression_test.cc",
466cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_error_msg_test.cc",
467cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_error_resync_test.cc",
468cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_exclusive_or_expression_test.cc",
469cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_external_texture_type_test.cc",
470cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_for_stmt_test.cc",
471cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_function_decl_test.cc",
472cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_function_decoration_list_test.cc",
473cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_function_decoration_test.cc",
474cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_function_header_test.cc",
475cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_global_constant_decl_test.cc",
476cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_global_decl_test.cc",
477cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_global_variable_decl_test.cc",
478cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_if_stmt_test.cc",
479cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_image_storage_type_test.cc",
480cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_inclusive_or_expression_test.cc",
481cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_logical_and_expression_test.cc",
482cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_logical_or_expression_test.cc",
483cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_loop_stmt_test.cc",
484cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_multiplicative_expression_test.cc",
485cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_param_list_test.cc",
486cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_paren_rhs_stmt_test.cc",
487cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_pipeline_stage_test.cc",
488cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_primary_expression_test.cc",
489cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_relational_expression_test.cc",
490cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_reserved_keyword_test.cc",
491cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_sampled_texture_type_test.cc",
492cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_sampler_type_test.cc",
493cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_shift_expression_test.cc",
494cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_singular_expression_test.cc",
495cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_statement_test.cc",
496cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_statements_test.cc",
497cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_storage_class_test.cc",
498cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_storage_texture_type_test.cc",
499cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_struct_body_decl_test.cc",
500cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_struct_decl_test.cc",
501cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_struct_decoration_decl_test.cc",
502cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_struct_decoration_test.cc",
503cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_struct_member_decoration_decl_test.cc",
504cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_struct_member_decoration_test.cc",
505cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_struct_member_test.cc",
506cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_switch_body_test.cc",
507cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_switch_stmt_test.cc",
508cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_test.cc",
509cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_test_helper.cc",
510cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_test_helper.h",
511cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_texture_sampler_types_test.cc",
512cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_type_alias_test.cc",
513cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_type_decl_test.cc",
514cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_unary_expression_test.cc",
515cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_variable_decl_test.cc",
516cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_variable_decoration_list_test.cc",
517cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_variable_decoration_test.cc",
518cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_variable_ident_decl_test.cc",
519cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_variable_qualifier_test.cc",
520cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_impl_variable_stmt_test.cc",
521cb93a386Sopenharmony_ci    "../src/reader/wgsl/parser_test.cc",
522cb93a386Sopenharmony_ci    "../src/reader/wgsl/token_test.cc",
523cb93a386Sopenharmony_ci  ]
524cb93a386Sopenharmony_ci
525cb93a386Sopenharmony_ci  deps = [ "${tint_root_dir}/src:libtint_wgsl_reader_src" ]
526cb93a386Sopenharmony_ci}
527cb93a386Sopenharmony_ci
528cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_wgsl_writer_src") {
529cb93a386Sopenharmony_ci  sources = [
530cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_alias_type_test.cc",
531cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_array_accessor_test.cc",
532cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_assign_test.cc",
533cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_binary_test.cc",
534cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_bitcast_test.cc",
535cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_block_test.cc",
536cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_break_test.cc",
537cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_call_test.cc",
538cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_case_test.cc",
539cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_cast_test.cc",
540cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_constructor_test.cc",
541cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_continue_test.cc",
542cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_discard_test.cc",
543cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_fallthrough_test.cc",
544cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_function_test.cc",
545cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_global_decl_test.cc",
546cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_identifier_test.cc",
547cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_if_test.cc",
548cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_literal_test.cc",
549cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_loop_test.cc",
550cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_member_accessor_test.cc",
551cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_return_test.cc",
552cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_switch_test.cc",
553cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_test.cc",
554cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_type_test.cc",
555cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_unary_op_test.cc",
556cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_variable_decl_statement_test.cc",
557cb93a386Sopenharmony_ci    "../src/writer/wgsl/generator_impl_variable_test.cc",
558cb93a386Sopenharmony_ci    "../src/writer/wgsl/test_helper.h",
559cb93a386Sopenharmony_ci  ]
560cb93a386Sopenharmony_ci
561cb93a386Sopenharmony_ci  deps = [
562cb93a386Sopenharmony_ci    ":tint_unittests_ast_src",
563cb93a386Sopenharmony_ci    "${tint_root_dir}/src:libtint_wgsl_writer_src",
564cb93a386Sopenharmony_ci  ]
565cb93a386Sopenharmony_ci}
566cb93a386Sopenharmony_ci
567cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_msl_writer_src") {
568cb93a386Sopenharmony_ci  sources = [
569cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_array_accessor_test.cc",
570cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_assign_test.cc",
571cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_binary_test.cc",
572cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_bitcast_test.cc",
573cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_block_test.cc",
574cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_break_test.cc",
575cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_call_test.cc",
576cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_case_test.cc",
577cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_cast_test.cc",
578cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_constructor_test.cc",
579cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_continue_test.cc",
580cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_discard_test.cc",
581cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_function_test.cc",
582cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_identifier_test.cc",
583cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_if_test.cc",
584cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_import_test.cc",
585cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_intrinsic_test.cc",
586cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_intrinsic_texture_test.cc",
587cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_loop_test.cc",
588cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_member_accessor_test.cc",
589cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_module_constant_test.cc",
590cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_return_test.cc",
591cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_sanitizer_test.cc",
592cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_switch_test.cc",
593cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_test.cc",
594cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_type_test.cc",
595cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_unary_op_test.cc",
596cb93a386Sopenharmony_ci    "../src/writer/msl/generator_impl_variable_decl_statement_test.cc",
597cb93a386Sopenharmony_ci    "../src/writer/msl/test_helper.h",
598cb93a386Sopenharmony_ci  ]
599cb93a386Sopenharmony_ci
600cb93a386Sopenharmony_ci  deps = [
601cb93a386Sopenharmony_ci    ":tint_unittests_ast_src",
602cb93a386Sopenharmony_ci    "${tint_root_dir}/src:libtint_msl_writer_src",
603cb93a386Sopenharmony_ci  ]
604cb93a386Sopenharmony_ci}
605cb93a386Sopenharmony_ci
606cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_hlsl_writer_src") {
607cb93a386Sopenharmony_ci  sources = [
608cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_array_accessor_test.cc",
609cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_assign_test.cc",
610cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_binary_test.cc",
611cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_bitcast_test.cc",
612cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_block_test.cc",
613cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_break_test.cc",
614cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_call_test.cc",
615cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_case_test.cc",
616cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_cast_test.cc",
617cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_constructor_test.cc",
618cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_continue_test.cc",
619cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_discard_test.cc",
620cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_function_test.cc",
621cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_identifier_test.cc",
622cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_if_test.cc",
623cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_import_test.cc",
624cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_intrinsic_test.cc",
625cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_intrinsic_texture_test.cc",
626cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_loop_test.cc",
627cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_member_accessor_test.cc",
628cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_module_constant_test.cc",
629cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_return_test.cc",
630cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_sanitizer_test.cc",
631cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_switch_test.cc",
632cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_test.cc",
633cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_type_test.cc",
634cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_unary_op_test.cc",
635cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_variable_decl_statement_test.cc",
636cb93a386Sopenharmony_ci    "../src/writer/hlsl/generator_impl_workgroup_var_test.cc",
637cb93a386Sopenharmony_ci    "../src/writer/hlsl/test_helper.h",
638cb93a386Sopenharmony_ci  ]
639cb93a386Sopenharmony_ci
640cb93a386Sopenharmony_ci  deps = [
641cb93a386Sopenharmony_ci    ":tint_unittests_ast_src",
642cb93a386Sopenharmony_ci    "${tint_root_dir}/src:libtint_hlsl_writer_src",
643cb93a386Sopenharmony_ci  ]
644cb93a386Sopenharmony_ci}
645cb93a386Sopenharmony_ci
646cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_glsl_writer_src") {
647cb93a386Sopenharmony_ci  sources = [
648cb93a386Sopenharmony_ci    "../src/transform/glsl_test.cc",
649cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_array_accessor_test.cc",
650cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_assign_test.cc",
651cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_binary_test.cc",
652cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_bitcast_test.cc",
653cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_block_test.cc",
654cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_break_test.cc",
655cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_call_test.cc",
656cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_case_test.cc",
657cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_cast_test.cc",
658cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_constructor_test.cc",
659cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_continue_test.cc",
660cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_discard_test.cc",
661cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_function_test.cc",
662cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_identifier_test.cc",
663cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_if_test.cc",
664cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_import_test.cc",
665cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_intrinsic_test.cc",
666cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_intrinsic_texture_test.cc",
667cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_loop_test.cc",
668cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_member_accessor_test.cc",
669cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_module_constant_test.cc",
670cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_return_test.cc",
671cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_sanitizer_test.cc",
672cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_switch_test.cc",
673cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_test.cc",
674cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_type_test.cc",
675cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_unary_op_test.cc",
676cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_variable_decl_statement_test.cc",
677cb93a386Sopenharmony_ci    "../src/writer/glsl/generator_impl_workgroup_var_test.cc",
678cb93a386Sopenharmony_ci    "../src/writer/glsl/test_helper.h",
679cb93a386Sopenharmony_ci  ]
680cb93a386Sopenharmony_ci
681cb93a386Sopenharmony_ci  deps = [
682cb93a386Sopenharmony_ci    ":tint_unittests_ast_src",
683cb93a386Sopenharmony_ci    ":tint_unittests_transform_src",
684cb93a386Sopenharmony_ci    "${tint_root_dir}/src:libtint_glsl_writer_src",
685cb93a386Sopenharmony_ci  ]
686cb93a386Sopenharmony_ci}
687cb93a386Sopenharmony_ci
688cb93a386Sopenharmony_citint_unittests_source_set("tint_unittests_core_src") {
689cb93a386Sopenharmony_ci  sources = [
690cb93a386Sopenharmony_ci    "../src/block_allocator_test.cc",
691cb93a386Sopenharmony_ci    "../src/castable_test.cc",
692cb93a386Sopenharmony_ci    "../src/clone_context_test.cc",
693cb93a386Sopenharmony_ci    "../src/debug_test.cc",
694cb93a386Sopenharmony_ci    "../src/demangler_test.cc",
695cb93a386Sopenharmony_ci    "../src/intrinsic_table_test.cc",
696cb93a386Sopenharmony_ci    "../src/program_builder_test.cc",
697cb93a386Sopenharmony_ci    "../src/program_test.cc",
698cb93a386Sopenharmony_ci    "../src/scope_stack_test.cc",
699cb93a386Sopenharmony_ci    "../src/symbol_table_test.cc",
700cb93a386Sopenharmony_ci    "../src/symbol_test.cc",
701cb93a386Sopenharmony_ci    "../src/traits_test.cc",
702cb93a386Sopenharmony_ci  ]
703cb93a386Sopenharmony_ci
704cb93a386Sopenharmony_ci  deps = [ ":tint_unittests_ast_src" ]
705cb93a386Sopenharmony_ci}
706cb93a386Sopenharmony_ci
707cb93a386Sopenharmony_ciif (build_with_chromium) {
708cb93a386Sopenharmony_ci  tint_unittests_source_set("tint_unittests_fuzzer_src") {
709cb93a386Sopenharmony_ci    sources = [ "../fuzzers/random_generator_test.cc" ]
710cb93a386Sopenharmony_ci
711cb93a386Sopenharmony_ci    deps = [
712cb93a386Sopenharmony_ci      ":tint_unittests_core_src",
713cb93a386Sopenharmony_ci      "${tint_root_dir}/fuzzers:tint_fuzzer_common_src",
714cb93a386Sopenharmony_ci    ]
715cb93a386Sopenharmony_ci  }
716cb93a386Sopenharmony_ci}
717cb93a386Sopenharmony_ci
718cb93a386Sopenharmony_cisource_set("tint_unittests_src") {
719cb93a386Sopenharmony_ci  testonly = true
720cb93a386Sopenharmony_ci
721cb93a386Sopenharmony_ci  deps = [
722cb93a386Sopenharmony_ci    ":tint_unittests_ast_src",
723cb93a386Sopenharmony_ci    ":tint_unittests_core_src",
724cb93a386Sopenharmony_ci    ":tint_unittests_diagnostic_src",
725cb93a386Sopenharmony_ci    ":tint_unittests_inspector_src",
726cb93a386Sopenharmony_ci    ":tint_unittests_resolver_src",
727cb93a386Sopenharmony_ci    ":tint_unittests_sem_src",
728cb93a386Sopenharmony_ci    ":tint_unittests_transform_src",
729cb93a386Sopenharmony_ci    ":tint_unittests_utils_src",
730cb93a386Sopenharmony_ci    ":tint_unittests_writer_src",
731cb93a386Sopenharmony_ci    "${tint_root_dir}/src:libtint_wgsl_reader_src",
732cb93a386Sopenharmony_ci    "${tint_root_dir}/src:libtint_wgsl_writer_src",
733cb93a386Sopenharmony_ci  ]
734cb93a386Sopenharmony_ci
735cb93a386Sopenharmony_ci  if (tint_build_spv_reader) {
736cb93a386Sopenharmony_ci    deps += [ ":tint_unittests_spv_reader_src" ]
737cb93a386Sopenharmony_ci  }
738cb93a386Sopenharmony_ci
739cb93a386Sopenharmony_ci  if (tint_build_spv_writer) {
740cb93a386Sopenharmony_ci    deps += [ ":tint_unittests_spv_writer_src" ]
741cb93a386Sopenharmony_ci  }
742cb93a386Sopenharmony_ci
743cb93a386Sopenharmony_ci  if (tint_build_wgsl_reader) {
744cb93a386Sopenharmony_ci    deps += [ ":tint_unittests_wgsl_reader_src" ]
745cb93a386Sopenharmony_ci  }
746cb93a386Sopenharmony_ci
747cb93a386Sopenharmony_ci  if (tint_build_wgsl_writer) {
748cb93a386Sopenharmony_ci    deps += [ ":tint_unittests_wgsl_writer_src" ]
749cb93a386Sopenharmony_ci  }
750cb93a386Sopenharmony_ci
751cb93a386Sopenharmony_ci  if (tint_build_msl_writer) {
752cb93a386Sopenharmony_ci    deps += [ ":tint_unittests_msl_writer_src" ]
753cb93a386Sopenharmony_ci  }
754cb93a386Sopenharmony_ci
755cb93a386Sopenharmony_ci  if (tint_build_hlsl_writer) {
756cb93a386Sopenharmony_ci    deps += [ ":tint_unittests_hlsl_writer_src" ]
757cb93a386Sopenharmony_ci  }
758cb93a386Sopenharmony_ci
759cb93a386Sopenharmony_ci  if (tint_build_glsl_writer) {
760cb93a386Sopenharmony_ci    deps += [ ":tint_unittests_glsl_writer_src" ]
761cb93a386Sopenharmony_ci  }
762cb93a386Sopenharmony_ci
763cb93a386Sopenharmony_ci  if (build_with_chromium) {
764cb93a386Sopenharmony_ci    deps += [ ":tint_unittests_fuzzer_src" ]
765cb93a386Sopenharmony_ci  }
766cb93a386Sopenharmony_ci
767cb93a386Sopenharmony_ci  configs += [ ":tint_unittests_config" ]
768cb93a386Sopenharmony_ci
769cb93a386Sopenharmony_ci  if (build_with_chromium) {
770cb93a386Sopenharmony_ci    configs -= [ "${skia_root_dir}/build/config/compiler:chromium_code" ]
771cb93a386Sopenharmony_ci    configs += [ "${skia_root_dir}/build/config/compiler:no_chromium_code" ]
772cb93a386Sopenharmony_ci  }
773cb93a386Sopenharmony_ci}
774cb93a386Sopenharmony_ci
775cb93a386Sopenharmony_citest("tint_unittests") {
776cb93a386Sopenharmony_ci  deps = [
777cb93a386Sopenharmony_ci    ":gmock_and_gtest",
778cb93a386Sopenharmony_ci    ":tint_unittests_src",
779cb93a386Sopenharmony_ci    "${tint_spirv_tools_dir}/:spvtools",
780cb93a386Sopenharmony_ci    "${tint_spirv_tools_dir}/:spvtools_opt",
781cb93a386Sopenharmony_ci    "${tint_spirv_tools_dir}/:spvtools_val",
782cb93a386Sopenharmony_ci  ]
783cb93a386Sopenharmony_ci
784cb93a386Sopenharmony_ci  deps += [ ":tint_unittests_main" ]
785cb93a386Sopenharmony_ci
786cb93a386Sopenharmony_ci  configs += [ ":tint_unittests_config" ]
787cb93a386Sopenharmony_ci
788cb93a386Sopenharmony_ci  if (build_with_chromium) {
789cb93a386Sopenharmony_ci    configs -= [ "${skia_root_dir}/build/config/compiler:chromium_code" ]
790cb93a386Sopenharmony_ci    configs += [ "${skia_root_dir}/build/config/compiler:no_chromium_code" ]
791cb93a386Sopenharmony_ci  }
792cb93a386Sopenharmony_ci
793cb93a386Sopenharmony_ci  testonly = true
794cb93a386Sopenharmony_ci}
795