• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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