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 "stdio.h"
32#include "It_posix_queue.h"
33
34CHAR *g_mqueueMsessage[MQUEUE_SHORT_ARRAY_LENGTH] = {"0123456789", "1234567890", "2345678901",
35                                                     "3456789012", "4567890123", "5678901234",
36                                                     "6789012345", "7890123456", "lalalalala",
37                                                     "hahahahaha"};
38CHAR g_gqname[MQUEUE_STANDARD_NAME_LENGTH];
39CHAR g_mqueueName[LOSCFG_BASE_IPC_QUEUE_CONFIG + 1][MQUEUE_STANDARD_NAME_LENGTH];
40mqd_t g_mqueueId[LOSCFG_BASE_IPC_QUEUE_CONFIG + 1];
41SEM_HANDLE_T g_mqueueSem;
42mqd_t g_messageQId;
43mqd_t g_gqueue;
44TSK_HANDLE_T g_mqueueTaskPID;
45
46VOID TestAssertWaitDelay(UINT32 *testCount, UINT32 flag)
47{
48    while (*testCount != flag) {
49        usleep(1);
50    }
51}
52
53VOID ItSuitePosixMqueue(void)
54{
55    printf("*********** BEGIN SAMPLE POSIX MQUEUE TEST ************\n");
56    ItPosixQueue001();
57    ItPosixQueue002();
58    ItPosixQueue003();
59    ItPosixQueue004();
60    ItPosixQueue005();
61    ItPosixQueue006();
62    ItPosixQueue007();
63    ItPosixQueue008();
64    ItPosixQueue009();
65    ItPosixQueue010();
66    ItPosixQueue011();
67    ItPosixQueue012();
68    ItPosixQueue013();
69    ItPosixQueue014();
70    ItPosixQueue015();
71    ItPosixQueue016();
72    ItPosixQueue017();
73    ItPosixQueue018();
74    ItPosixQueue019();
75    ItPosixQueue020();
76    ItPosixQueue021();
77    ItPosixQueue022();
78    ItPosixQueue023();
79    ItPosixQueue024();
80    ItPosixQueue025();
81    ItPosixQueue026();
82    ItPosixQueue027();
83    ItPosixQueue028();
84    ItPosixQueue029();
85    ItPosixQueue030();
86    ItPosixQueue031();
87    ItPosixQueue032();
88    ItPosixQueue033();
89    ItPosixQueue034();
90    ItPosixQueue035();
91    ItPosixQueue036();
92    ItPosixQueue037();
93    ItPosixQueue038();
94    ItPosixQueue039();
95    ItPosixQueue040();
96    ItPosixQueue041();
97    ItPosixQueue042();
98    ItPosixQueue043();
99    ItPosixQueue044();
100    ItPosixQueue045();
101    ItPosixQueue046();
102    ItPosixQueue047();
103    ItPosixQueue048();
104    ItPosixQueue049();
105    ItPosixQueue050();
106    ItPosixQueue051();
107    ItPosixQueue052();
108}
109