1/*
2 * Copyright (c) 2022 Huawei Device Co., Ltd. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without modification,
5 * are permitted provided that the following conditions are met:
6 *
7 * 1. Redistributions of source code must retain the above copyright notice, this list of
8 * conditions and the following disclaimer.
9 *
10 * 2. Redistributions in binary form must reproduce the above copyright notice, this list
11 * of conditions and the following disclaimer in the documentation and/or other materials
12 * provided with the distribution.
13 *
14 * 3. Neither the name of the copyright holder nor the names of its contributors may be used
15 * to endorse or promote products derived from this software without specific prior written
16 * permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
20 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
22 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30
31#include "It_posix_pthread.h"
32
33/*
34 * return value of pthread_self() is 0 when
35 * pthread create from LOS_TaskCreate()
36 */
37pthread_t TestPthreadSelf(void)
38{
39    pthread_t tid = pthread_self();
40    if (tid == 0) {
41        tid = (pthread_t)(((LosTaskCB *)(OsCurrTaskGet()))->taskID);
42    }
43    return tid;
44}
45
46void ItSuitePosixPthread(void)
47{
48    printf("************** begin SAMPLE POSIX pthread test *************\n");
49    ItPosixPthread001();
50    ItPosixPthread002();
51    ItPosixPthread003();
52    ItPosixPthread004();
53    ItPosixPthread005();
54    ItPosixPthread006();
55    ItPosixPthread007();
56    ItPosixPthread008();
57    ItPosixPthread009();
58    ItPosixPthread010();
59    ItPosixPthread011();
60    ItPosixPthread012();
61    ItPosixPthread013();
62    ItPosixPthread014();
63    ItPosixPthread015();
64    ItPosixPthread016();
65    ItPosixPthread017();
66    ItPosixPthread018();
67    ItPosixPthread019();
68    ItPosixPthread020();
69    ItPosixPthread021();
70    ItPosixPthread022();
71    ItPosixPthread023();
72    ItPosixPthread024();
73    ItPosixPthread025();
74}
75