13af6ab5fSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
23af6ab5fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
33af6ab5fSopenharmony_ci# you may not use this file except in compliance with the License.
43af6ab5fSopenharmony_ci# You may obtain a copy of the License at
53af6ab5fSopenharmony_ci#
63af6ab5fSopenharmony_ci#    http:\www.apache.org/licenses/LICENSE-2.0
73af6ab5fSopenharmony_ci#
83af6ab5fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
93af6ab5fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
103af6ab5fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
113af6ab5fSopenharmony_ci# See the License for the specific language governing permissions and
123af6ab5fSopenharmony_ci# limitations under the License.
133af6ab5fSopenharmony_ci
143af6ab5fSopenharmony_ci# Description: configs for test suite
153af6ab5fSopenharmony_ci
163af6ab5fSopenharmony_ci# environment settings
173af6ab5fSopenharmony_cideveco_path: D:\Software\Deveco-0602\DevEco Studio
183af6ab5fSopenharmony_cideveco_harmonyos_sdk_path: D:\SDK\HarmonyOS_SDK
193af6ab5fSopenharmony_cideveco_openharmony_sdk_path: D:\SDK\openHarmony_SDK
203af6ab5fSopenharmony_cinode_js_path: D:\Software\nodejs  # The nodejs which is used in Deveco
213af6ab5fSopenharmony_ci# the mapping between API and file name
223af6ab5fSopenharmony_ciapi_version_file_name_map:
233af6ab5fSopenharmony_ci  '4.0.0(10)': "HarmonyOS-NEXT-DP0"
243af6ab5fSopenharmony_ci  '4.1.0(11)': "HarmonyOS-NEXT-DP1"
253af6ab5fSopenharmony_ci  '5.0.0(12)': "HarmonyOS-NEXT-DB0"
263af6ab5fSopenharmony_ci
273af6ab5fSopenharmony_ci# output settings
283af6ab5fSopenharmony_cioutput_html_file: ./sdk_test_report.html
293af6ab5fSopenharmony_cilog_file: ./sdk_test_log.txt
303af6ab5fSopenharmony_cipictures_dic: ./pictures
313af6ab5fSopenharmony_ci
323af6ab5fSopenharmony_ci# descriptions about test haps list
333af6ab5fSopenharmony_ci# each hap have the following attributes:
343af6ab5fSopenharmony_ci# -name: name of the hap
353af6ab5fSopenharmony_ci# -path: path of the hap project
363af6ab5fSopenharmony_ci# -type: type of the hap. Available values are: [stage, fa, js, compatible8]
373af6ab5fSopenharmony_ci#        besides, you can also append attributes in [widget, ohosTest, error, exceed_length_error]
383af6ab5fSopenharmony_ci#        -widget: indicates this hap has widget, which has widgets.abc in stage mode
393af6ab5fSopenharmony_ci#        -error: indicates this hap need to test whether compile error is correctly generated as well
403af6ab5fSopenharmony_ci#        -exceed_length_error: indicates this hap need to test whether compile error is correctly generated when path exceed the limit
413af6ab5fSopenharmony_ci#        -ohosTest: indicates this hap needed to compile ohosTest as well
423af6ab5fSopenharmony_ci# -hap_module: specify hap module to build in the test.
433af6ab5fSopenharmony_ci# -hap_module_path: specify hap module path to build in the test,in form of list
443af6ab5fSopenharmony_ci# -har_module: specify har module to build in the test.
453af6ab5fSopenharmony_ci# -har_module_path: specify har module path to build in the test,in form of list
463af6ab5fSopenharmony_ci# -hsp_module: specify hsp module to build in the test.
473af6ab5fSopenharmony_ci# -hsp_module_path: specify hsp module path to build in the test,in form of list
483af6ab5fSopenharmony_ci# -cpp_module: specify cpp module to build in the test.
493af6ab5fSopenharmony_ci# -cpp_module_path: specify cpp module path to build in the test,in form of list
503af6ab5fSopenharmony_ci# -build_path: path to build path, in form of list
513af6ab5fSopenharmony_ci# -preview_path: path to preview build path, in form of list
523af6ab5fSopenharmony_ci# -bundle_name: the bundle name of the project.
533af6ab5fSopenharmony_ci# -ability_name: the ability name of the project
543af6ab5fSopenharmony_ci# -cache_path: path to cache path, in form of list
553af6ab5fSopenharmony_ci# -hap_output_path: path of output hap(unsigned), in form of list
563af6ab5fSopenharmony_ci# -hap_output_signed: path of output hap(signed), in form of list
573af6ab5fSopenharmony_ci# -har_output_path: path of output har(har package), in form of list
583af6ab5fSopenharmony_ci# -hap_output_path: path of output hsp(unsigned), in form of list
593af6ab5fSopenharmony_ci# -hap_output_signed: path of output hsp(signed), in form of list
603af6ab5fSopenharmony_ci# -har_output_path: path of output hsp(har package), in form of list
613af6ab5fSopenharmony_ci# -main_pages_json_path: information of page configuration(when you add a new page)
623af6ab5fSopenharmony_ci# -inc_modify_file: path of modified file in incremental build, in form of list
633af6ab5fSopenharmony_ci# -har_modify_mode_file: path of modified file in har module, in form of list
643af6ab5fSopenharmony_ci# -hsp_modify_mode_file: path of modified file in hsp module, in form of list
653af6ab5fSopenharmony_ci# -cpp_modify_file: path of modified file in cpp module, in form of list
663af6ab5fSopenharmony_ci# -description: description about the hap, this attribute is not used yet.
673af6ab5fSopenharmony_cihaps:
683af6ab5fSopenharmony_ci  # complex haps
693af6ab5fSopenharmony_ci  - calendar:
703af6ab5fSopenharmony_ci    name: Calendar
713af6ab5fSopenharmony_ci    path: D:\haps\calendar
723af6ab5fSopenharmony_ci    type: [stage]
733af6ab5fSopenharmony_ci    hap_module: entry
743af6ab5fSopenharmony_ci    build_path:
753af6ab5fSopenharmony_ci    cache_path:
763af6ab5fSopenharmony_ci    output_hap_path:
773af6ab5fSopenharmony_ci    output_app_path:
783af6ab5fSopenharmony_ci    inc_modify_file:
793af6ab5fSopenharmony_ci    description:
803af6ab5fSopenharmony_ci  # widget haps
813af6ab5fSopenharmony_ci  - widgetdemo:
823af6ab5fSopenharmony_ci    name: WidgetDemo
833af6ab5fSopenharmony_ci    path: D:\haps\WidgetDemo
843af6ab5fSopenharmony_ci    type: [stage, widget]
853af6ab5fSopenharmony_ci    hap_module: entry
863af6ab5fSopenharmony_ci    build_path:
873af6ab5fSopenharmony_ci    cache_path:
883af6ab5fSopenharmony_ci    output_hap_path:
893af6ab5fSopenharmony_ci    output_app_path:
903af6ab5fSopenharmony_ci    inc_modify_file:
913af6ab5fSopenharmony_ci    description:
923af6ab5fSopenharmony_ci  # IDE demo haps
933af6ab5fSopenharmony_ci  - idedemo_00:
943af6ab5fSopenharmony_ci    name: IdeStageDemoEmptyAbility
953af6ab5fSopenharmony_ci    path: D:\sdk-test\DemoApplication_EmptyAbility
963af6ab5fSopenharmony_ci    type: [stage, ohosTest, exceed_length_error, error]
973af6ab5fSopenharmony_ci    hap_module: entry
983af6ab5fSopenharmony_ci    hap_module_path: [ entry ]
993af6ab5fSopenharmony_ci    har_module: har
1003af6ab5fSopenharmony_ci    har_module_path: [ har ]
1013af6ab5fSopenharmony_ci    hsp_module: hsp
1023af6ab5fSopenharmony_ci    hsp_module_path: [ hsp ]
1033af6ab5fSopenharmony_ci    cpp_module: cpp
1043af6ab5fSopenharmony_ci    cpp_module_path: [ cpp ]
1053af6ab5fSopenharmony_ci    build_path: [ build, default ]
1063af6ab5fSopenharmony_ci    preview_path: [.preview, default]
1073af6ab5fSopenharmony_ci    bundle_name: com.example.stagedemoemptyability
1083af6ab5fSopenharmony_ci    ability_name: EntryAbility
1093af6ab5fSopenharmony_ci    cache_path: [ cache, default, default@CompileArkTS, esmodule ]
1103af6ab5fSopenharmony_ci    preview_cache_path: [ cache, default, default@PreviewArkTS, esmodule ]
1113af6ab5fSopenharmony_ci    hap_output_path: [ outputs, default, entry-default-unsigned.hap ]
1123af6ab5fSopenharmony_ci    hap_output_path_signed: [ outputs, default, entry-default-signed.hap ]
1133af6ab5fSopenharmony_ci    har_output_path: [outputs, default, har.har]
1143af6ab5fSopenharmony_ci    hsp_output_path: [ outputs, default, hsp-default-unsigned.hsp]
1153af6ab5fSopenharmony_ci    hsp_output_path_signed: [outputs, default, hsp-default-signed.hsp]
1163af6ab5fSopenharmony_ci    main_pages_json_path: [ entry, src, main, resources, base, profile, main_pages.json ]
1173af6ab5fSopenharmony_ci    inc_modify_file: [ entry, src, main, ets, pages, Index.ets ]
1183af6ab5fSopenharmony_ci    har_modify_file: [ har, Index.ets ]
1193af6ab5fSopenharmony_ci    hsp_modify_file: [ hsp, Index.ets ]
1203af6ab5fSopenharmony_ci    cpp_modify_file: [ cpp, src, main, cpp, types, libcpp, Index.d.ts ]
1213af6ab5fSopenharmony_ci    description:
1223af6ab5fSopenharmony_ci  - idedemo_01:
1233af6ab5fSopenharmony_ci    name: IdeFaDemoEmptyAbility
1243af6ab5fSopenharmony_ci    path: D:\sdk-test\DemoApplication_EmptyAbility_fa
1253af6ab5fSopenharmony_ci    type: [fa, ohosTest, exceed_length_error, error]
1263af6ab5fSopenharmony_ci    hap_module: entry
1273af6ab5fSopenharmony_ci    hap_module_path: [ entry ]
1283af6ab5fSopenharmony_ci    har_module: har
1293af6ab5fSopenharmony_ci    har_module_path: [ har ]
1303af6ab5fSopenharmony_ci    hsp_module: hsp
1313af6ab5fSopenharmony_ci    hsp_module_path: [ hsp ]
1323af6ab5fSopenharmony_ci    cpp_module: cpp
1333af6ab5fSopenharmony_ci    cpp_module_path: [ cpp ]
1343af6ab5fSopenharmony_ci    build_path: [ build, default ]
1353af6ab5fSopenharmony_ci    preview_path: [.preview, default]
1363af6ab5fSopenharmony_ci    bundle_name: com.example.idefademoemptyability
1373af6ab5fSopenharmony_ci    ability_name: com.example.idefademoemptyability.MainAbility
1383af6ab5fSopenharmony_ci    cache_path: [ cache, default, default@LegacyCompileArkTS, jsbundle ]
1393af6ab5fSopenharmony_ci    preview_cache_path: [ cache, default, default@PreviewArkTS, esmodule ]
1403af6ab5fSopenharmony_ci    hap_output_path: [ outputs, default, entry-default-unsigned.hap ]
1413af6ab5fSopenharmony_ci    hap_output_path_signed: [ outputs, default, entry-default-signed.hap ]
1423af6ab5fSopenharmony_ci    har_output_path: [outputs, default, har.har]
1433af6ab5fSopenharmony_ci    hsp_output_path: [ outputs, default, hsp-default-unsigned.hsp]
1443af6ab5fSopenharmony_ci    hsp_output_path_signed: [outputs, default, hsp-default-signed.hsp]
1453af6ab5fSopenharmony_ci    main_pages_json_path: [ entry, src, main, resources, base, profile, main_pages.json ]
1463af6ab5fSopenharmony_ci    inc_modify_file: [ entry, src, main, ets, pages, Index.ets ]
1473af6ab5fSopenharmony_ci    har_modify_file: [ har, Index.ets ]
1483af6ab5fSopenharmony_ci    hsp_modify_file: [ hsp, Index.ets ]
1493af6ab5fSopenharmony_ci    cpp_modify_file: [ cpp, src, main, cpp, types, libcpp, Index.d.ts ]
1503af6ab5fSopenharmony_ci    description:
1513af6ab5fSopenharmony_ci  - idedemo_02:
1523af6ab5fSopenharmony_ci    name: IdeCompatible8DemoEmptyAbility
1533af6ab5fSopenharmony_ci    path: D:\sdk-test\DemoApplication_EmptyAbility_compatible8
1543af6ab5fSopenharmony_ci    type: [compatible8, ohosTest, exceed_length_error, error]
1553af6ab5fSopenharmony_ci    hap_module: entry
1563af6ab5fSopenharmony_ci    hap_module_path: [ entry ]
1573af6ab5fSopenharmony_ci    har_module: har
1583af6ab5fSopenharmony_ci    har_module_path: [ har ]
1593af6ab5fSopenharmony_ci    hsp_module: hsp
1603af6ab5fSopenharmony_ci    hsp_module_path: [ hsp ]
1613af6ab5fSopenharmony_ci    cpp_module: cpp
1623af6ab5fSopenharmony_ci    cpp_module_path: [ cpp ]
1633af6ab5fSopenharmony_ci    build_path: [ build, default ]
1643af6ab5fSopenharmony_ci    preview_path: [.preview, default]
1653af6ab5fSopenharmony_ci    bundle_name: com.example.idecompatible8demoemptyability
1663af6ab5fSopenharmony_ci    ability_name: com.example.idecompatible8demoemptyability.MainAbility
1673af6ab5fSopenharmony_ci    cache_path: [ cache, default, default@LegacyCompileArkTS, jsbundle ]
1683af6ab5fSopenharmony_ci    preview_cache_path: [ cache, default, default@PreviewArkTS, esmodule ]
1693af6ab5fSopenharmony_ci    hap_output_path: [ outputs, default, entry-default-unsigned.hap ]
1703af6ab5fSopenharmony_ci    hap_output_path_signed: [ outputs, default, entry-default-signed.hap ]
1713af6ab5fSopenharmony_ci    har_output_path: [outputs, default, har.har]
1723af6ab5fSopenharmony_ci    hsp_output_path: [ outputs, default, hsp-default-unsigned.hsp]
1733af6ab5fSopenharmony_ci    hsp_output_path_signed: [outputs, default, hsp-default-signed.hsp]
1743af6ab5fSopenharmony_ci    main_pages_json_path: [ entry, src, main, resources, base, profile, main_pages.json ]
1753af6ab5fSopenharmony_ci    inc_modify_file: [ entry, src, main, ets, pages, Index.ets ]
1763af6ab5fSopenharmony_ci    har_modify_file: [ har, Index.ets ]
1773af6ab5fSopenharmony_ci    hsp_modify_file: [ hsp, Index.ets ]
1783af6ab5fSopenharmony_ci    cpp_modify_file: [ cpp, src, main, cpp, types, libcpp, Index.d.ts ]
1793af6ab5fSopenharmony_ci    description:
1803af6ab5fSopenharmony_ci  - idedemo_03:
1813af6ab5fSopenharmony_ci    name: IdeJsDemoEmptyAbility
1823af6ab5fSopenharmony_ci    path: D:\sdk-test\DemoApplication_EmptyAbility_js
1833af6ab5fSopenharmony_ci    type: [js, ohosTest, exceed_length_error, error]
1843af6ab5fSopenharmony_ci    hap_module: entry
1853af6ab5fSopenharmony_ci    hap_module_path: [ entry ]
1863af6ab5fSopenharmony_ci    har_module: har
1873af6ab5fSopenharmony_ci    har_module_path: [ har ]
1883af6ab5fSopenharmony_ci    hsp_module: hsp
1893af6ab5fSopenharmony_ci    hsp_module_path: [ hsp ]
1903af6ab5fSopenharmony_ci    cpp_module: cpp
1913af6ab5fSopenharmony_ci    cpp_module_path: [ cpp ]
1923af6ab5fSopenharmony_ci    build_path: [ build, default ]
1933af6ab5fSopenharmony_ci    preview_path: [.preview, default]
1943af6ab5fSopenharmony_ci    bundle_name: com.example.idejsdemoemptyability
1953af6ab5fSopenharmony_ci    ability_name: com.example.idejsdemoemptyability.MainAbility
1963af6ab5fSopenharmony_ci    cache_path: [ cache, default, default@LegacyCompileJS, jsbundle ]
1973af6ab5fSopenharmony_ci    preview_cache_path: [ cache, default, default@PreviewArkTS, esmodule ]
1983af6ab5fSopenharmony_ci    hap_output_path: [ outputs, default, entry-default-unsigned.hap ]
1993af6ab5fSopenharmony_ci    hap_output_path_signed: [ outputs, default, entry-default-signed.hap ]
2003af6ab5fSopenharmony_ci    har_output_path: [outputs, default, har.har]
2013af6ab5fSopenharmony_ci    hsp_output_path: [ outputs, default, hsp-default-unsigned.hsp]
2023af6ab5fSopenharmony_ci    hsp_output_path_signed: [outputs, default, hsp-default-signed.hsp]
2033af6ab5fSopenharmony_ci    main_pages_json_path: [ entry, src, main, resources, base, profile, main_pages.json ]
2043af6ab5fSopenharmony_ci    inc_modify_file: [ entry, src, main, ets, pages, Index.ets ]
2053af6ab5fSopenharmony_ci    har_modify_file: [ har, Index.ets ]
2063af6ab5fSopenharmony_ci    hsp_modify_file: [ hsp, Index.ets ]
2073af6ab5fSopenharmony_ci    cpp_modify_file: [ cpp, src, main, cpp, types, libcpp, Index.d.ts ]
2083af6ab5fSopenharmony_ci    description:
2093af6ab5fSopenharmony_ci# external_haps: descriptions about external haps list
2103af6ab5fSopenharmony_ciexternal_haps:
2113af6ab5fSopenharmony_ci  - external_demo_00:
2123af6ab5fSopenharmony_ci    name: Out
2133af6ab5fSopenharmony_ci    path: D:\sdk-test\Out
2143af6ab5fSopenharmony_ci    type: [stage, ohosTest, exceed_length_error, error]
2153af6ab5fSopenharmony_ci    hap_module: entry
2163af6ab5fSopenharmony_ci    hap_module_path: [ entry ]
2173af6ab5fSopenharmony_ci    har_module: outHar
2183af6ab5fSopenharmony_ci    har_module_path: [ outHar ]
2193af6ab5fSopenharmony_ci    hsp_module: outHsp
2203af6ab5fSopenharmony_ci    hsp_module_path: [ outHsp ]
2213af6ab5fSopenharmony_ci    cpp_module: outCpp
2223af6ab5fSopenharmony_ci    cpp_module_path: [ outCpp ]
2233af6ab5fSopenharmony_ci    build_path: [ build, default ]
2243af6ab5fSopenharmony_ci    preview_path: [ .preview, default ]
2253af6ab5fSopenharmony_ci    bundle_name: com.example.out
2263af6ab5fSopenharmony_ci    ability_name: EntryAbility
2273af6ab5fSopenharmony_ci    cache_path: [ cache, default, default@CompileArkTS, esmodule ]
2283af6ab5fSopenharmony_ci    preview_cache_path: [ cache, default, default@PreviewArkTS, esmodule ]
2293af6ab5fSopenharmony_ci    hap_output_path: [ outputs, default, entry-default-unsigned.hap ]
2303af6ab5fSopenharmony_ci    hap_output_path_signed: [ outputs, default, entry-default-signed.hap ]
2313af6ab5fSopenharmony_ci    har_output_path_har: [ outputs, default, outHar.har ]
2323af6ab5fSopenharmony_ci    hsp_output_path: [ outputs, default, outHsp-default-unsigned.hsp ]
2333af6ab5fSopenharmony_ci    hsp_output_path_signed: [ outputs, default, outHsp-default-signed.hsp ]
2343af6ab5fSopenharmony_ci    hsp_output_path_har: [ outputs, default, outHsp.har ]
2353af6ab5fSopenharmony_ci    cpp_output_path: [ outputs, default, outCpp-default-unsigned.hap ]
2363af6ab5fSopenharmony_ci    cpp_output_path_signed: [ outputs, default, outCpp-default-signed.hap ]
2373af6ab5fSopenharmony_ci    main_pages_json_path: [ entry, src, main, resources, base, profile, main_pages.json ]
2383af6ab5fSopenharmony_ci    inc_modify_file: [ entry, src, main, ets, pages, Index.ets ]
2393af6ab5fSopenharmony_ci    har_modify_file: [ outHar, Index.ets ]
2403af6ab5fSopenharmony_ci    hsp_modify_file: [ outHsp, Index.ets ]
2413af6ab5fSopenharmony_ci    cpp_modify_file: [ outCpp, src, main, cpp, types, libcpp, Index.d.ts ]
2423af6ab5fSopenharmony_ci    description:
2433af6ab5fSopenharmony_ci
2443af6ab5fSopenharmony_ci# modifications for incremental compilation and other tests
2453af6ab5fSopenharmony_cipatch_content:
2463af6ab5fSopenharmony_ci  patch_new_file_ets:
2473af6ab5fSopenharmony_ci    # This new file will be added to the same directory as 'inc_modify_file' specified in haps
2483af6ab5fSopenharmony_ci    name: test.ets
2493af6ab5fSopenharmony_ci    path: pages/Test
2503af6ab5fSopenharmony_ci    content: "export function a() {return 'a'}\n"
2513af6ab5fSopenharmony_ci    component: "@Entry\n@Component\nstruct NewPage {\n@State message: string = 'Hello World';\nbuild() {\n}\n}\n"
2523af6ab5fSopenharmony_ci  patch_new_file_js:
2533af6ab5fSopenharmony_ci    name: test.js
2543af6ab5fSopenharmony_ci    content: "export function a() {return 'a'}\n"
2553af6ab5fSopenharmony_ci  patch_new_file_ts:
2563af6ab5fSopenharmony_ci    name: test.ts
2573af6ab5fSopenharmony_ci    new_name: TEST.ts
2583af6ab5fSopenharmony_ci    content: "export function a() {return 'a'}\n"
2593af6ab5fSopenharmony_ci  patch_new_file_cpp:
2603af6ab5fSopenharmony_ci    name: test.js
2613af6ab5fSopenharmony_ci    content: "export function a() {return 'a'}\n"
2623af6ab5fSopenharmony_ci  patch_lines_1:
2633af6ab5fSopenharmony_ci    js:
2643af6ab5fSopenharmony_ci      head: "import {a} from './test'\n"
2653af6ab5fSopenharmony_ci      tail: "\nconsole.log(a().toString());\n"
2663af6ab5fSopenharmony_ci    ts:
2673af6ab5fSopenharmony_ci      head: "import {a} from './test'\n"
2683af6ab5fSopenharmony_ci      tail: "\nconsole.log(a().toString());\n"
2693af6ab5fSopenharmony_ci    har:
2703af6ab5fSopenharmony_ci      head: "import {a} from 'staticlibrary';\n"
2713af6ab5fSopenharmony_ci      tail: "\nconsole.log(a().toString());\n"
2723af6ab5fSopenharmony_ci    hsp:
2733af6ab5fSopenharmony_ci      head: "import {a} from 'sharelibrary';\n"
2743af6ab5fSopenharmony_ci      tail: "\nconsole.log(a().toString());\n"
2753af6ab5fSopenharmony_ci    cpp:
2763af6ab5fSopenharmony_ci      head: "import {a} from 'libcpp.so';\n"
2773af6ab5fSopenharmony_ci      tail: "\nconsole.log(a().toString());\n"
2783af6ab5fSopenharmony_ci    externalhar:
2793af6ab5fSopenharmony_ci      head: "import {a} from 'outHar';\n"
2803af6ab5fSopenharmony_ci      tail: "\nconsole.log(a().toString());\n"
2813af6ab5fSopenharmony_ci    externalhsp:
2823af6ab5fSopenharmony_ci      head: "import {a} from 'outHsp';\n"
2833af6ab5fSopenharmony_ci      tail: "\nconsole.log(a().toString());\n"
2843af6ab5fSopenharmony_ci    externalcpp:
2853af6ab5fSopenharmony_ci      head: "import {a} from 'outCpp';\n"
2863af6ab5fSopenharmony_ci      tail: "\nconsole.log(a().toString());\n"
2873af6ab5fSopenharmony_ci  patch_lines_2:
2883af6ab5fSopenharmony_ci    tail: "\n console.log('This is a new line');\n"
2893af6ab5fSopenharmony_ci  patch_lines_error:
2903af6ab5fSopenharmony_ci    content: "let a_duplicated_value_for_test_suite = 1; function a_duplicated_value_for_test_suite() {};\n"
2913af6ab5fSopenharmony_ci    expected_error: [Duplicate identifier 'a_duplicated_value_for_test_suite',
2923af6ab5fSopenharmony_ci                     Function implementation is missing or not immediately following the declaration,
2933af6ab5fSopenharmony_ci                     Identifier 'a_duplicated_value_for_test_suite' has already been declared]
2943af6ab5fSopenharmony_ci  patch_file_error:
2953af6ab5fSopenharmony_ci    expected_error: [Cannot find module './test' or its corresponding type declarations]
2963af6ab5fSopenharmony_ci  # Please make sure the module inc modify path is in the dependency path
2973af6ab5fSopenharmony_ci  arkui_patch:
2983af6ab5fSopenharmony_ci    content: "@Entry\n@Component\nstruct HelloWorld {\n@State message: string = 'Hello World';\nbuild() {\n}\n}\n"
2993af6ab5fSopenharmony_ci    component: "Row() {\nColumn() {\nText(this.message)\n.fontSize(50)\n.fontWeight(FontWeight.Bold)\n}\n
3003af6ab5fSopenharmony_ci                .width('100%')\n}\n.height('100%')\n"
3013af6ab5fSopenharmony_ci    origin_text: "'Hello World';"
3023af6ab5fSopenharmony_ci    error_text: "'Hello World'123;"
3033af6ab5fSopenharmony_ci    error_component: "Texat('this is a wrong component')\n"
3043af6ab5fSopenharmony_ci    expected_errors: [Cannot find name 'Texat'. Did you mean 'Text',
3053af6ab5fSopenharmony_ci                      Objects with property names that are not identifiers are not supported, "';' expected"]
3063af6ab5fSopenharmony_ci  ohpm_package_patch:
3073af6ab5fSopenharmony_ci    ordinary_package:
3083af6ab5fSopenharmony_ci      name: dayjs
3093af6ab5fSopenharmony_ci      head: "import dayjs from 'dayjs'\n"
3103af6ab5fSopenharmony_ci      tail: "\nconsole.log(dayjs().toString());"
3113af6ab5fSopenharmony_ci    # The oh-package.json does not contain the fields module/main/borrower
3123af6ab5fSopenharmony_ci    special_package:
3133af6ab5fSopenharmony_ci      name: bignumber.js
3143af6ab5fSopenharmony_ci      head: "import { BigNumber } from 'bignumber.js';\n"
3153af6ab5fSopenharmony_ci      tail: "\nBigNumber(123.4567);"