1# Copyright (c) 2021 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14group("ark_aot_js_test") { 15 testonly = true 16 test_list = [ 17 "asyncfunctionenter", 18 "bigint_typed_array_constructors", 19 "call_default_args", 20 "constructor_returns_non_object", 21 "tryldglobalbyname", 22 "dynamicimport", 23 "formatrangetoparts", 24 "module", 25 "undefined", 26 "cjs", 27 "for_await_of", 28 "dead_code_elimination", 29 "equal", 30 "js_string_equal", 31 "js_string_add", 32 "regressioncase", 33 "definefieldbyname", 34 "definefieldbyname2", 35 "induction_variable", 36 ] 37 38 deps = [] 39 foreach(test, test_list) { 40 deps += [ "${test}:${test}AotAction" ] 41 if (!is_debug) { 42 deps += [ "${test}:${test}AotContextAction" ] 43 } 44 } 45} 46 47group("ark_aot_js_assert_test") { 48 testonly = true 49 deps = [] 50 test_assert_list = [ "emptyif" ] 51 foreach(test, test_assert_list) { 52 deps += [ "${test}:${test}AotAssertAction" ] 53 if (!is_debug) { 54 deps += [ "${test}:${test}AotContextAssertAction" ] 55 } 56 } 57} 58 59group("ark_aot_ts_test") { 60 testonly = true 61 test_list = [ 62 "add", 63 "array", 64 "array_foreach_inline", 65 "ashr", 66 "asyncgenerator", 67 "asyncgeneratormultiloop", 68 "asyncgeneratorrest", 69 "async_context", 70 "async_env", 71 "await", 72 "await_loop", 73 "bc_builder", 74 "bind", 75 "binaryop_special_value", 76 "builtinmath", 77 "builtin_math1", 78 "builtin_math2", 79 "builtins_string", 80 "call_builtin_objects", 81 "call_same_bytecode_func", 82 "callithisrange", 83 "calls", 84 "classstatic", 85 "class_method_signature", 86 "closeiterator", 87 "combined_pass", 88 "compiler_test", 89 "constpool", 90 "continue_from_finally", 91 "copyrestargs", 92 "createarray_meta_data", 93 "createarrayimm16", 94 "createarraywithbuffer", 95 "createemptyarray", 96 "createemptyobject", 97 "creategeneratorobj", 98 "createiterresultobj", 99 "createobjecthavingmethod", 100 "createobjectwithbuffer", 101 "createobjectwithexcludedkeys", 102 "createregexpwithliteral", 103 "dec", 104 "default_supers", 105 "defineasyncfunc", 106 "defineclasswithbuffer", 107 "defineclass", 108 "definefunc", 109 "definefunc_variable_args", 110 "definegeneratorfunc", 111 "definegettersetterbyvalue", 112 "definemethod", 113 "definencfunc", 114 "delobjprop", 115 "deopt", 116 "deopt_clear_aotflags", 117 "destructuring", 118 "div", 119 "duplicatefunctions", 120 "duplicatekey", 121 "elements_kind", 122 "elements_kind_update", 123 "shr_overflow", 124 "equal_nan", 125 "exception_case1", 126 "exception_case10", 127 "exception_case11", 128 "exception_case12", 129 "exception_case13", 130 "exception_case2", 131 "exception_case3", 132 "exception_case4", 133 "exception_case5", 134 "exception_case6", 135 "exception_case7", 136 "exception_case8", 137 "exception_case9", 138 "exp", 139 "extends_builtins", 140 "fast_call_builtins", 141 "frame_iteration", 142 "frame_states", 143 "forin_delete_property", 144 "forin_dictionary_mode", 145 "forin_empty_prototype", 146 "forin_enum_cache", 147 "forin_non_empty_prototype", 148 "forin_special_object", 149 "forloop", 150 "framestatesalloc", 151 "framestatesasync", 152 "framestatesphi", 153 "framestates_elimination", 154 "generatormerge", 155 "generatorcontinuefinally", 156 "getiterator", 157 "getiteratornext", 158 "getnextpropname", 159 "getpropiterator", 160 "getresumemode", 161 "gettemplateobject", 162 "getunmappedargs", 163 "global_this_ts", 164 "generic_instance_type_literal", 165 "helloaot", 166 "helloconcurrent", 167 "ic", 168 "inc", 169 "inline", 170 "inline_array_exception", 171 "instanceof", 172 "isfalse", 173 "isin", 174 "isomorphism", 175 "istrue", 176 "jsonstringify", 177 "large_func", 178 "large_func_acc", 179 "ldbigint", 180 "ldconst", 181 "ldfunctionpref", 182 "ldglobalvar", 183 "ldobjbyname", 184 "ldobjbyname_typed_path", 185 "ldobjbyvalue", 186 "ldstlexvar", 187 "ldsuperbyname", 188 "load_local_module_var", 189 "logic_op", 190 "loop_peeling", 191 "loop_phi", 192 "loop_with_variable_exchange", 193 "loops", 194 "map", 195 "mod", 196 "modules", 197 "mono_builtin", 198 "mul", 199 "multi_module_compilation", 200 "neg", 201 "nested_if_try_emptycatch", 202 "nested_try_emptycatch", 203 "nested_try_emptycatch_finally", 204 "new", 205 "newlexenv", 206 "newobjrange", 207 "newobjspread", 208 "not", 209 "not_equal", 210 "numberspeculativeretype", 211 "operations_stub_test", 212 "optimization", 213 "optimized_call", 214 "or", 215 "ordinaryhasinstance", 216 "pgo_aot_call_deopt_bridge", 217 "pgo_aot_newobj", 218 "pgo_array_prototype", 219 "pgo_builtins", 220 "pgo_call", 221 "pgo_call_builtin_ctor", 222 "pgo_call_js", 223 "pgo_float32array_construct", 224 "pgo_class_operation", 225 "pgo_class_prototype", 226 "pgo_constant_value_deopt", 227 "pgo_constructor_number", 228 "pgo_element_transition", 229 "pgo_elimination_loadconstoffset", 230 "pgo_fast_call_bridge", 231 "pgo_fast_call_deopt_bridge", 232 "pgo_forof_array", 233 "pgo_forof_map", 234 "pgo_forof_set", 235 "pgo_forof_string", 236 "pgo_forof_typed_array", 237 "pgo_function_prototype", 238 "pgo_gettersetter", 239 "pgo_extrainfomap_expand", 240 "pgo_extrainfomap_gc", 241 "pgo_inherited_function_operation", 242 "pgo_ldobjbyvalue_array", 243 "pgo_ldobjbyvalue_string", 244 "pgo_retype", 245 "pgo_length", 246 "pgo_loop_peeling", 247 "pgo_math", 248 "pgo_math_round", 249 "pgo_objectliteral_operation", 250 "pgo_object_prototype", 251 "pgo_call_deopt_js", 252 "pgo_call_recursive_js", 253 254 "pgo_call_with_repetitive_method_id", 255 "pgo_char_to_string_deopt", 256 "pgo_on_heap", 257 "pgo_store_deopt", 258 "pgo_track_type", 259 "poplexenv", 260 "proxy", 261 "privateproperty", 262 "privateproperty_js", 263 "resumegenerator", 264 "rodata", 265 "setobjectwithproto", 266 "set", 267 "shl", 268 "shr", 269 "specialloops", 270 "starrayspread", 271 "statesplit", 272 "stclasstoglobalrecord", 273 "stconsttoglobalrecord", 274 "stglobalvar", 275 "stlettoglobalrecord", 276 "stobjbyindex", 277 "stobjbyname", 278 "stobjbyvalue", 279 "stownbyindex", 280 "stownbyname", 281 "stownbynamewithnameset", 282 "stownbyvalue", 283 "stownbyvaluewithnameset", 284 "strictequal", 285 "strictnotequal", 286 "string", 287 "string_add", 288 "string_equal", 289 "string_localecompare", 290 "stsuperbyname", 291 "sub", 292 "supercall", 293 "supercallspread", 294 "suspendgenerator", 295 "suspendgeneratorbranch", 296 "suspendgeneratorfor", 297 "suspendgeneratorphi", 298 "suspendgeneratorreturn", 299 "suspendgeneratorthrow", 300 "throw", 301 "throwifsupernotcorrectcall", 302 "throwundefindeifhole", 303 "tonumber", 304 "tonumeric", 305 "try", 306 "try_catch_finally", 307 "try_emptycatch_forloop", 308 "try_emptycatch_nested", 309 "try_emptycatch_switch_case", 310 "tryldglobalbyname_global_object", 311 "tryldglobalbyname_global_record", 312 "trystglobalbynameprefid32", 313 "ts_hclass_generator", 314 "typedarray", 315 "typedarray_load_store", 316 "typedarrayfill", 317 "typeof", 318 "unaryop_special_value", 319 "useless_gate_elimination", 320 "xor", 321 "sharedbitvector", 322 "sharedcheck", 323 "sharedarray", 324 "sharedcollectionsexception", 325 "sharedmap", 326 "sharedJSON", 327 "sharedset", 328 "definesendableclass", 329 "sendableenv", 330 "sendablefunc", 331 "sendablecontext", 332 "createarraywithbuffer2", 333 "builtins_number", 334 "builtins_number2", 335 "builtins_parseint", 336 "constructor", 337 "shared_module", 338 "proxy_fast_call", 339 "webkit_call_convention", 340 "func_profile_type_info", 341 "retype_isnan", 342 "sendable", 343 "retype_test", 344 ] 345 346 if (!is_debug) { 347 test_list += [ 348 "pgo_function_operation", 349 "proxy2", 350 351 #"lexenv_specialization", 352 #"lexenv_specialization_multi_inline", 353 #"lexenv_specialization_noopt", 354 #"loop_hoist", 355 #"pgo_call_deopt", 356 #"ts_inline", 357 #"ts_inline_accessor", 358 #"ts_inline_accessor_deopt", 359 #"ts_inline_accessor_extends", 360 #"ts_inline_accessor_same_name", 361 #"ts_inline_accessor_symbol", 362 #"ts_inline_change_target", 363 #"ts_inline_deopt", 364 #"ts_inline_deopt_loop", 365 #"ts_inline_exception1", 366 #"ts_inline_exception2", 367 #"ts_inline_exception3", 368 #"ts_inline_exception4", 369 #"ts_inline_exception5", 370 #"ts_inline_exception6", 371 #"ts_inline_exception7", 372 #"ts_inline_exception8", 373 #"ts_inline_extends", 374 #"ts_inline_loop", 375 #"ts_inline_max_call", 376 #"ts_multi_inline", 377 #"ts_multi_inline_deopt", 378 #"ts_multi_inline_max_call", 379 #"ts_multi_inline_recursive", 380 ] 381 } 382 383 deps = [ "builtin_inlining:ark_aot_builtin_inlining_test" ] 384 385 foreach(test, test_list) { 386 deps += [ "${test}:${test}AotAction" ] 387 if (!is_debug) { 388 deps += [ "${test}:${test}AotContextAction" ] 389 } 390 } 391 392 if (is_debug) { 393 debug_test_list = [ 394 # builtins_stub test only print log in debug mode 395 "builtins_array", 396 "builtins_stub", 397 ] 398 foreach(test, debug_test_list) { 399 deps += [ "${test}:${test}AotAction" ] 400 } 401 } 402} 403 404group("ark_aot_ts_assert_test") { 405 testonly = true 406 407 deps = [] 408 assert_test_list = [ 409 "and", 410 "array_bounds_check_elimination", 411 "check_dump", 412 ] 413 foreach(test, assert_test_list) { 414 deps += [ "${test}:${test}AotAssertAction" ] 415 if (!is_debug) { 416 deps += [ "${test}:${test}AotContextAssertAction" ] 417 } 418 } 419} 420 421group("ark_aot_test") { 422 testonly = true 423 deps = [ 424 ":ark_aot_js_assert_test", 425 ":ark_aot_js_test", 426 ":ark_aot_ts_assert_test", 427 ":ark_aot_ts_test", 428 "analyze_property:analyze_property_test", 429 "aot_compatibility_test:aot_compatibility_test", 430 "aot_multi_constantpool_test:aot_multi_constantpool_test", 431 "aot_type_test:aot_type_test", 432 "object:object_test", 433 "vtable:vtable_test", 434 ] 435 436 if (is_mac) { 437 deps -= [ 438 ":ark_aot_js_assert_test", 439 ":ark_aot_js_test", 440 ":ark_aot_ts_assert_test", 441 ":ark_aot_ts_test", 442 "aot_type_test:aot_type_test", 443 ] 444 } 445} 446