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 "emptyif", 24 "formatrangetoparts", 25 "module", 26 "undefined", 27 "cjs", 28 "for_await_of", 29 "dead_code_elimination", 30 "equal", 31 "js_string_equal", 32 "js_string_add", 33 "regressioncase", 34 ] 35 36 deps = [] 37 foreach(test, test_list) { 38 deps += [ "${test}:${test}AotAction" ] 39 if (!is_debug) { 40 deps += [ "${test}:${test}AotContextAction" ] 41 } 42 } 43} 44 45group("ark_aot_ts_test") { 46 testonly = true 47 test_list = [ 48 "add", 49 "and", 50 "array", 51 "array_bounds_check_elimination", 52 "array_foreach_inline", 53 "ashr", 54 "asyncgenerator", 55 "asyncgeneratormultiloop", 56 "asyncgeneratorrest", 57 "async_context", 58 "async_env", 59 "await", 60 "await_loop", 61 "bc_builder", 62 "bind", 63 "binaryop_special_value", 64 "builtinmath", 65 "call_same_bytecode_func", 66 "callithisrange", 67 "calls", 68 "classstatic", 69 "class_method_signature", 70 "closeiterator", 71 "compiler_test", 72 "constpool", 73 "continue_from_finally", 74 "copyrestargs", 75 "createarray_meta_data", 76 "createarrayimm16", 77 "createarraywithbuffer", 78 "createemptyarray", 79 "createemptyobject", 80 "creategeneratorobj", 81 "createiterresultobj", 82 "createobjecthavingmethod", 83 "createobjectwithbuffer", 84 "createobjectwithexcludedkeys", 85 "createregexpwithliteral", 86 "dec", 87 "default_supers", 88 "defineasyncfunc", 89 "defineclasswithbuffer", 90 "defineclass", 91 "definefunc", 92 "definefunc_variable_args", 93 "definegeneratorfunc", 94 "definegettersetterbyvalue", 95 "definemethod", 96 "definencfunc", 97 "delobjprop", 98 "deopt", 99 "deopt_clear_aotflags", 100 "destructuring", 101 "div", 102 "duplicatefunctions", 103 "duplicatekey", 104 "elements_kind", 105 "equal_nan", 106 "exception_case1", 107 "exception_case10", 108 "exception_case11", 109 "exception_case12", 110 "exception_case13", 111 "exception_case2", 112 "exception_case3", 113 "exception_case4", 114 "exception_case5", 115 "exception_case6", 116 "exception_case7", 117 "exception_case8", 118 "exception_case9", 119 "exp", 120 "extends_builtins", 121 "fast_call_builtins", 122 "frame_states", 123 "forin_delete_property", 124 "forin_dictionary_mode", 125 "forin_empty_prototype", 126 "forin_enum_cache", 127 "forin_non_empty_prototype", 128 "forin_special_object", 129 "forloop", 130 "framestatesalloc", 131 "framestatesasync", 132 "framestatesphi", 133 "generatormerge", 134 "generatorcontinuefinally", 135 "getiterator", 136 "getiteratornext", 137 "getnextpropname", 138 "getpropiterator", 139 "getresumemode", 140 "gettemplateobject", 141 "getunmappedargs", 142 "global_this_ts", 143 "generic_instance_type_literal", 144 "helloaot", 145 "helloconcurrent", 146 "ic", 147 "inc", 148 "inline", 149 "instanceof", 150 "isfalse", 151 "isin", 152 "isomorphism", 153 "istrue", 154 "jsonstringify", 155 "large_func", 156 "large_func_acc", 157 "ldbigint", 158 "ldconst", 159 "ldfunctionpref", 160 "ldglobalvar", 161 "ldobjbyname", 162 "ldobjbyname_typed_path", 163 "ldobjbyvalue", 164 "ldstlexvar", 165 "ldsuperbyname", 166 "lexenv_specialization", 167 "lexenv_specialization", 168 "lexenv_specialization_noopt", 169 "load_local_module_var", 170 "logic_op", 171 "loop_hoist", 172 "loop_peeling", 173 "loop_phi", 174 "loop_with_variable_exchange", 175 "loops", 176 "map", 177 "mod", 178 "modules", 179 "mul", 180 "multi_module_compilation", 181 "neg", 182 "new", 183 "newlexenv", 184 "newobjrange", 185 "newobjspread", 186 "not", 187 "not_equal", 188 "numberspeculativeretype", 189 "operations_stub_test", 190 "optimization", 191 "optimized_call", 192 "or", 193 "ordinaryhasinstance", 194 "pgo_call", 195 "pgo_call_js", 196 "pgo_class_operation", 197 "pgo_class_prototype", 198 "pgo_constructor_number", 199 "pgo_forof_array", 200 "pgo_forof_map", 201 "pgo_forof_set", 202 "pgo_forof_string", 203 "pgo_forof_typed_array", 204 "pgo_function_operation", 205 "pgo_function_prototype", 206 "pgo_ldobjbyvalue_array", 207 "pgo_ldobjbyvalue_string", 208 "pgo_length", 209 "pgo_objectliteral_operation", 210 "pgo_call_deopt", 211 "pgo_call_deopt_js", 212 "pgo_call_recursive_js", 213 "pgo_on_heap", 214 "pgo_track_type", 215 "poplexenv", 216 "proxy", 217 "resumegenerator", 218 "rodata", 219 "setobjectwithproto", 220 "set", 221 "shl", 222 "shr", 223 "specialloops", 224 "starrayspread", 225 "statesplit", 226 "stclasstoglobalrecord", 227 "stconsttoglobalrecord", 228 "stglobalvar", 229 "stlettoglobalrecord", 230 "stobjbyindex", 231 "stobjbyname", 232 "stobjbyvalue", 233 "stownbyindex", 234 "stownbyname", 235 "stownbynamewithnameset", 236 "stownbyvalue", 237 "stownbyvaluewithnameset", 238 "strictequal", 239 "strictnotequal", 240 "string", 241 "string_add", 242 "string_equal", 243 "stsuperbyname", 244 "sub", 245 "supercall", 246 "supercallspread", 247 "suspendgenerator", 248 "suspendgeneratorbranch", 249 250 "suspendgeneratorfor", 251 "suspendgeneratorphi", 252 "suspendgeneratorreturn", 253 "suspendgeneratorthrow", 254 "throw", 255 "throwifsupernotcorrectcall", 256 "throwundefindeifhole", 257 "tonumber", 258 "tonumeric", 259 "try", 260 "try_catch_finally", 261 "tryldglobalbyname_global_object", 262 "tryldglobalbyname_global_record", 263 "trystglobalbynameprefid32", 264 "ts_hclass_generator", 265 "ts_inline", 266 "ts_inline_accessor", 267 "ts_inline_accessor_deopt", 268 "ts_inline_accessor_extends", 269 "ts_inline_accessor_same_name", 270 "ts_inline_change_target", 271 "ts_inline_deopt", 272 "ts_inline_deopt_loop", 273 "ts_inline_exception1", 274 "ts_inline_exception2", 275 "ts_inline_exception3", 276 "ts_inline_exception4", 277 "ts_inline_exception5", 278 "ts_inline_exception6", 279 "ts_inline_exception7", 280 "ts_inline_exception8", 281 "ts_inline_extends", 282 "ts_inline_loop", 283 "ts_inline_max_call", 284 "ts_multi_inline", 285 "ts_multi_inline_deopt", 286 "ts_multi_inline_max_call", 287 "ts_multi_inline_recursive", 288 "typedarray", 289 "typedarray_load_store", 290 "typedarrayfill", 291 "typeof", 292 "unaryop_special_value", 293 "xor", 294 "sharedcheck", 295 "definesendableclass", 296 "sendablecontext", 297 ] 298 299 deps = [] 300 foreach(test, test_list) { 301 deps += [ "${test}:${test}AotAction" ] 302 if (!is_debug) { 303 deps += [ "${test}:${test}AotContextAction" ] 304 } 305 } 306 307 if (is_debug) { 308 debug_test_list = [ 309 # builtins_stub test only print log in debug mode 310 "builtins_array", 311 "builtins_stub", 312 ] 313 foreach(test, debug_test_list) { 314 deps += [ "${test}:${test}AotAction" ] 315 } 316 } 317} 318 319group("ark_aot_test") { 320 testonly = true 321 deps = [ 322 ":ark_aot_js_test", 323 ":ark_aot_ts_test", 324 "analyze_property:analyze_property_test", 325 "aot_compatibility_test:aot_compatibility_test", 326 "aot_multi_constantpool_test:aot_multi_constantpool_test", 327 "aot_type_test:aot_type_test", 328 "object:object_test", 329 "vtable:vtable_test", 330 ] 331 332 if (is_mac) { 333 deps -= [ 334 ":ark_aot_js_test", 335 ":ark_aot_ts_test", 336 "aot_type_test:aot_type_test", 337 ] 338 } 339} 340