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