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 setjmp from 'libsetjmpndk.so'
19
20export default function muslSetJmpNdkTest() {
21  describe('MuslSetjmpTest', () => {
22
23    beforeEach(async () => {
24      await Utils.sleep(50)
25    })
26
27    /**
28     * @tc.number     : SUB_THIRDPARTY_MUSL_SETJMP_SETJMP_0100
29     * @tc.name       : testMuslSetJmpSetJmp001
30     * @tc.desc       : test setjmp
31     * @tc.size       : MediumTest
32     * @tc.type       : Function
33     * @tc.level      : Level 1
34     */
35    it('testMuslSetJmpSetJmp001', 0, async (done: Function) => {
36      let data: number = setjmp.setJmp();
37      expect(data).assertEqual(0);
38      done();
39    });
40
41    /**
42     * @tc.number     : SUB_THIRDPARTY_MUSL_SETJMP_SIGLONGJMP_0100
43     * @tc.name       : testMuslSetJmpSigLongJmp001
44     * @tc.desc       : test siglongjmp
45     * @tc.size       : MediumTest
46     * @tc.type       : Function
47     * @tc.level      : Level 1
48     */
49    it('testMuslSetJmpSigLongJmp001', 0, async (done: Function) => {
50      let data: number = setjmp.sigLongJmp();
51      expect(data).assertEqual(0);
52      done();
53    });
54
55    /**
56     * @tc.number     : SUB_THIRDPARTY_MUSL_SETJMP_SIGSETJMP_0100
57     * @tc.name       : testMuslSetJmpSigSetJmp001
58     * @tc.desc       : test sigsetjmp
59     * @tc.size       : MediumTest
60     * @tc.type       : Function
61     * @tc.level      : Level 1
62     */
63    it('testMuslSetJmpSigSetJmp001', 0, async (done: Function) => {
64      let data: number = setjmp.sigSetJmp();
65      expect(data).assertEqual(0);
66      done();
67    });
68  })
69}