1/*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
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 */
15
16import { beforeEach, describe, expect, it } from '@ohos/hypium'
17import Utils from './Utils'
18import aeabi from 'libaeabindk.so'
19
20export default function aeabiNdkTest() {
21  describe('MuslAeabiTest', () => {
22
23    beforeEach(async () => {
24      await Utils.sleep(50)
25    })
26
27    /**
28     * @tc.number     : SUB_THIRDPARTY_MUSL_AEABI_MEMCLR_0100
29     * @tc.name       : testMuslAeabiMemclr001
30     * @tc.desc       : test __aeabi_memclr
31     * @tc.size       : MediumTest
32     * @tc.type       : Function
33     * @tc.level      : Level 1
34     */
35    it('testMuslAeabiMemclr001', 0, async (done: Function) => {
36      let result: number = aeabi.aeabiMemclr();
37      console.info("Test result = " + JSON.stringify(result));
38      expect(result).assertEqual(0);
39      done()
40    });
41
42    /**
43     * @tc.number     : SUB_THIRDPARTY_MUSL_AEABI_MEMCLR4_0100
44     * @tc.name       : testMuslAeabiMemclr4001
45     * @tc.desc       : test __aeabi_memclr4
46     * @tc.size       : MediumTest
47     * @tc.type       : Function
48     * @tc.level      : Level 1
49     */
50    it('testMuslAeabiMemclr4001', 0, async (done: Function) => {
51      let result: number = aeabi.aeabiMemclr4();
52      console.info("Test result = " + JSON.stringify(result));
53      expect(result).assertEqual(0);
54      done()
55    });
56
57    /**
58     * @tc.number     : SUB_THIRDPARTY_MUSL_AEABI_MEMCLR8_0100
59     * @tc.name       : testMuslAeabiMemclr8001
60     * @tc.desc       : test __aeabi_memclr8
61     * @tc.size       : MediumTest
62     * @tc.type       : Function
63     * @tc.level      : Level 1
64     */
65    it('testMuslAeabiMemclr8001', 0, async (done: Function) => {
66      let result: number = aeabi.aeabiMemclr4();
67      console.info("Test result = " + JSON.stringify(result));
68      expect(result).assertEqual(0);
69      done()
70    });
71
72    /**
73     * @tc.number     : SUB_THIRDPARTY_MUSL_AEABI_MEMCPY_0100
74     * @tc.name       : testMuslAeabiMemcpy001
75     * @tc.desc       : test __aeabi_memcpy
76     * @tc.size       : MediumTest
77     * @tc.type       : Function
78     * @tc.level      : Level 1
79     */
80    it('testMuslAeabiMemcpy001', 0, async (done: Function) => {
81      let result: number = aeabi.aeabiMemcpy();
82      console.info("Test result = " + JSON.stringify(result));
83      expect(result).assertEqual(0);
84      done()
85    });
86
87    /**
88     * @tc.number     : SUB_THIRDPARTY_MUSL_AEABI_MEMCPY4_0100
89     * @tc.name       : testMuslAeabiMemcpy4001
90     * @tc.desc       : test __aeabi_memcpy4
91     * @tc.size       : MediumTest
92     * @tc.type       : Function
93     * @tc.level      : Level 1
94     */
95    it('testMuslAeabiMemcpy4001', 0, async (done: Function) => {
96      let result: number = aeabi.aeabiMemcpy4();
97      console.info("Test result = " + JSON.stringify(result));
98      expect(result).assertEqual(0);
99      done()
100    });
101
102    /**
103     * @tc.number     : SUB_THIRDPARTY_MUSL_AEABI_MEMCPY8_0100
104     * @tc.name       : testMuslAeabiMemcpy8001
105     * @tc.desc       : test __aeabi_memcpy8
106     * @tc.size       : MediumTest
107     * @tc.type       : Function
108     * @tc.level      : Level 1
109     */
110    it('testMuslAeabiMemcpy8001', 0, async (done: Function) => {
111      let result: number = aeabi.aeabiMemcpy4();
112      console.info("Test result = " + JSON.stringify(result));
113      expect(result).assertEqual(0);
114      done()
115    });
116
117    /**
118     * @tc.number     : SUB_THIRDPARTY_MUSL_AEABI_MEMMOVE_0100
119     * @tc.name       : testMuslAeabiMemmove001
120     * @tc.desc       : test __aeabi_memmove
121     * @tc.size       : MediumTest
122     * @tc.type       : Function
123     * @tc.level      : Level 1
124     */
125    it('testMuslAeabiMemmove001', 0, async (done: Function) => {
126      let result: number = aeabi.aeabiMemmove();
127      console.info("Test result = " + JSON.stringify(result));
128      expect(result).assertEqual(0);
129      done()
130    });
131
132    /**
133     * @tc.number     : SUB_THIRDPARTY_MUSL_AEABI_MEMMOVE4_0100
134     * @tc.name       : testMuslAeabiMemmove4001
135     * @tc.desc       : test __aeabi_memmove4
136     * @tc.size       : MediumTest
137     * @tc.type       : Function
138     * @tc.level      : Level 1
139     */
140    it('testMuslAeabiMemmove4001', 0, async (done: Function) => {
141      let result: number = aeabi.aeabiMemmove4();
142      console.info("Test result = " + JSON.stringify(result));
143      expect(result).assertEqual(0);
144      done()
145    });
146
147    /**
148     * @tc.number     : SUB_THIRDPARTY_MUSL_AEABI_MEMMOVE8_0100
149     * @tc.name       : testMuslAeabiMemmove8001
150     * @tc.desc       : test __aeabi_memmove8
151     * @tc.size       : MediumTest
152     * @tc.type       : Function
153     * @tc.level      : Level 1
154     */
155    it('testMuslAeabiMemmove8001', 0, async (done: Function) => {
156      let result: number = aeabi.aeabiMemmove8();
157      console.info("Test result = " + JSON.stringify(result));
158      expect(result).assertEqual(0);
159      done()
160    });
161
162    /**
163     * @tc.number     : SUB_THIRDPARTY_MUSL_AEABI_MEMSET_0100
164     * @tc.name       : testMuslAeabiMemset001
165     * @tc.desc       : test __aeabi_memset
166     * @tc.size       : MediumTest
167     * @tc.type       : Function
168     * @tc.level      : Level 1
169     */
170    it('testMuslAeabiMemset001', 0, async (done: Function) => {
171      let result: number = aeabi.aeabiMemset();
172      console.info("Test result = " + JSON.stringify(result));
173      expect(result).assertEqual(0);
174      done()
175    });
176
177    /**
178     * @tc.number     : SUB_THIRDPARTY_MUSL_AEABI_MEMSET4_0100
179     * @tc.name       : testMuslAeabiMemset4001
180     * @tc.desc       : test __aeabi_memset4
181     * @tc.size       : MediumTest
182     * @tc.type       : Function
183     * @tc.level      : Level 1
184     */
185    it('testMuslAeabiMemset4001', 0, async (done: Function) => {
186      let result: number = aeabi.aeabiMemset4();
187      console.info("Test result = " + JSON.stringify(result));
188      expect(result).assertEqual(0);
189      done()
190    });
191
192    /**
193     * @tc.number     : SUB_THIRDPARTY_MUSL_AEABI_MEMSET8_0100
194     * @tc.name       : testMuslAeabiMemset8001
195     * @tc.desc       : test __aeabi_memset8
196     * @tc.size       : MediumTest
197     * @tc.type       : Function
198     * @tc.level      : Level 1
199     */
200    it('testMuslAeabiMemset8001', 0, async (done: Function) => {
201      let result: number = aeabi.aeabiMemset8();
202      console.info("Test result = " + JSON.stringify(result));
203      expect(result).assertEqual(0);
204      done()
205    });
206
207    /**
208     * @tc.number     : SUB_THIRDPARTY_MUSL_AEABI_READ_TP_0100
209     * @tc.name       : testMuslAeabiReadTp001
210     * @tc.desc       : test __aeabi_read_tp
211     * @tc.size       : MediumTest
212     * @tc.type       : Function
213     * @tc.level      : Level 1
214     */
215    it('testMuslAeabiReadTp001', 0, async (done: Function) => {
216      let result: number = aeabi.aeabiReadTp();
217      console.info("Test result = " + JSON.stringify(result));
218      expect(result).assertEqual(0);
219      done()
220    });
221
222    /**
223     * @tc.number     : SUB_THIRDPARTY_MUSL_PROGNAME_0100
224     * @tc.name       : testMuslProgname001
225     * @tc.desc       : test __progname
226     * @tc.size       : MediumTest
227     * @tc.type       : Function
228     * @tc.level      : Level 1
229     */
230    it('testMuslProgname001', 0, async (done: Function) => {
231      let result: number = aeabi.progname();
232      console.info("Test result = " + JSON.stringify(result));
233      expect(result).assertEqual(0);
234      done()
235    });
236
237    /**
238     * @tc.number     : SUB_THIRDPARTY_MUSL_STACK_CHK_GUARD_0100
239     * @tc.name       : testMuslStackChkGuard001
240     * @tc.desc       : test __stack_chk_guard
241     * @tc.size       : MediumTest
242     * @tc.type       : Function
243     * @tc.level      : Level 1
244     */
245    it('testMuslStackChkGuard001', 0, async (done: Function) => {
246      let result: number = aeabi.stackChkGuard();
247      console.info("Test result = " + JSON.stringify(result));
248      expect(result).assertEqual(0);
249      done()
250    });
251
252  })
253}