• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This file is part of the openHiTLS project.
3  *
4  * openHiTLS is licensed under the Mulan PSL v2.
5  * You can use this software according to the terms and conditions of the Mulan PSL v2.
6  * You may obtain a copy of Mulan PSL v2 at:
7  *
8  *     http://license.coscl.org.cn/MulanPSL2
9  *
10  * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
11  * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
12  * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
13  * See the Mulan PSL v2 for more details.
14  */
15 
16 /* BEGIN_HEADER */
17 
18 #include <unistd.h>
19 #include <stdlib.h>
20 #include <pthread.h>
21 #include <string.h>
22 #include "bsl_sal.h"
23 #include "bsl_params.h"
24 #include "bsl_err.h"
25 #include "bsl_log.h"
26 /* END_HEADER */
27 
28 
29 /* BEGIN_CASE */
SDV_BSL_BSL_PARAM_InitValue_API_TC001()30 void SDV_BSL_BSL_PARAM_InitValue_API_TC001()
31 {
32     BSL_Param param = {0};
33     int32_t val = 1;
34     bool valBool = true;
35     int32_t *valPtr = &val;
36     ASSERT_EQ(BSL_PARAM_InitValue(&param, 0, BSL_PARAM_TYPE_UINT32,
37         &val, sizeof(val)), BSL_PARAMS_INVALID_KEY);
38     ASSERT_EQ(BSL_PARAM_InitValue(NULL, 1, BSL_PARAM_TYPE_UINT32, &val, sizeof(val)), BSL_INVALID_ARG);
39     ASSERT_EQ(BSL_PARAM_InitValue(&param, 1, BSL_PARAM_TYPE_UINT32, NULL, sizeof(val)), BSL_INVALID_ARG);
40     ASSERT_EQ(BSL_PARAM_InitValue(&param, 1, 100, &val, sizeof(val)), BSL_PARAMS_INVALID_TYPE);
41     ASSERT_EQ(BSL_PARAM_InitValue(&param, 1, BSL_PARAM_TYPE_UINT32, &val, sizeof(val)), BSL_SUCCESS);
42     ASSERT_EQ(BSL_PARAM_InitValue(&param, 1, BSL_PARAM_TYPE_BOOL, &valBool, sizeof(valBool)), BSL_SUCCESS);
43     ASSERT_EQ(BSL_PARAM_InitValue(&param, 1, BSL_PARAM_TYPE_FUNC_PTR, valPtr, 0), BSL_SUCCESS);
44     ASSERT_EQ(BSL_PARAM_InitValue(&param, 1, BSL_PARAM_TYPE_CTX_PTR, valPtr, 0), BSL_SUCCESS);
45     valPtr = NULL;
46     ASSERT_EQ(BSL_PARAM_InitValue(&param, 1, BSL_PARAM_TYPE_FUNC_PTR, valPtr, 0), BSL_SUCCESS);
47 EXIT:
48     return;
49 }
50 /* END_CASE */
51 
52 /* BEGIN_CASE */
SDV_BSL_BSL_PARAM_SetValue_API_TC001()53 void SDV_BSL_BSL_PARAM_SetValue_API_TC001()
54 {
55     BSL_Param param = {0};
56     int32_t val = 1;
57     bool valBool = true;
58     int32_t *valPtr = &val;
59     ASSERT_EQ(BSL_PARAM_InitValue(&param, 1, BSL_PARAM_TYPE_UINT32, &val, sizeof(val)), BSL_SUCCESS);
60     ASSERT_EQ(BSL_PARAM_SetValue(&param, 0, BSL_PARAM_TYPE_UINT32, &val, sizeof(val)), BSL_PARAMS_INVALID_KEY);
61     ASSERT_EQ(BSL_PARAM_SetValue(NULL, 1, BSL_PARAM_TYPE_UINT32, &val, sizeof(val)), BSL_INVALID_ARG);
62     ASSERT_EQ(BSL_PARAM_SetValue(&param, 2, BSL_PARAM_TYPE_UINT32, &val, sizeof(val)), BSL_PARAMS_MISMATCH);
63     ASSERT_EQ(BSL_PARAM_SetValue(&param, 1, BSL_PARAM_TYPE_UINT32, &val, 5), BSL_INVALID_ARG);
64     ASSERT_EQ(BSL_PARAM_SetValue(&param, 1, BSL_PARAM_TYPE_UINT32, NULL, sizeof(val)), BSL_INVALID_ARG);
65     val = 4;
66     ASSERT_EQ(BSL_PARAM_SetValue(&param, 1, BSL_PARAM_TYPE_OCTETS_PTR, &val, sizeof(val)), BSL_PARAMS_MISMATCH);
67     ASSERT_EQ(BSL_PARAM_SetValue(&param, 1, BSL_PARAM_TYPE_UINT32, &val, sizeof(val)), BSL_SUCCESS);
68     int32_t retVal = 0;
69     uint32_t retValLen = sizeof(retVal);
70     ASSERT_EQ(BSL_PARAM_GetValue(&param, 1, BSL_PARAM_TYPE_UINT32, &retVal, &retValLen), BSL_SUCCESS);
71     ASSERT_EQ(retVal, val);
72 
73     ASSERT_EQ(BSL_PARAM_InitValue(&param, 1, BSL_PARAM_TYPE_BOOL, &valBool, sizeof(valBool)), BSL_SUCCESS);
74     valBool = false;
75     ASSERT_EQ(BSL_PARAM_SetValue(&param, 1, BSL_PARAM_TYPE_BOOL, &valBool, sizeof(valBool)), BSL_SUCCESS);
76     uint32_t boolSize = sizeof(valBool);
77     ASSERT_EQ(BSL_PARAM_GetValue(&param, 1, BSL_PARAM_TYPE_BOOL, &valBool, &boolSize), BSL_SUCCESS);
78     ASSERT_EQ(valBool, false);
79 
80     ASSERT_EQ(BSL_PARAM_InitValue(&param, 1, BSL_PARAM_TYPE_FUNC_PTR, valPtr, 0), BSL_SUCCESS);
81     *valPtr = 0;
82     ASSERT_EQ(BSL_PARAM_SetValue(&param, 1, BSL_PARAM_TYPE_FUNC_PTR, valPtr, 0), BSL_SUCCESS);
83     ASSERT_EQ(BSL_PARAM_GetPtrValue(&param, 1, BSL_PARAM_TYPE_FUNC_PTR, (void **)&valPtr, NULL), BSL_SUCCESS);
84     ASSERT_EQ(*valPtr, 0);
85 
86 EXIT:
87     return;
88 }
89 /* END_CASE */
90 
91 /* BEGIN_CASE */
SDV_BSL_BSL_PARAM_FindParam_API_TC001()92 void SDV_BSL_BSL_PARAM_FindParam_API_TC001()
93 {
94     BSL_Param param[6] = {0};
95     int32_t val = 1;
96     bool valBool = true;
97     int32_t *valPtr = &val;
98 
99     ASSERT_EQ(BSL_PARAM_InitValue(&param[0], 1, BSL_PARAM_TYPE_UINT32, &val, sizeof(val)), BSL_SUCCESS);
100     ASSERT_EQ(BSL_PARAM_InitValue(&param[1], 2, BSL_PARAM_TYPE_BOOL, &valBool, sizeof(valBool)), BSL_SUCCESS);
101     ASSERT_EQ(BSL_PARAM_InitValue(&param[2], 3, BSL_PARAM_TYPE_FUNC_PTR, valPtr, 0), BSL_SUCCESS);
102     ASSERT_EQ(BSL_PARAM_InitValue(&param[3], 4, BSL_PARAM_TYPE_CTX_PTR, valPtr, 0), BSL_SUCCESS);
103 
104     BSL_Param *temp = NULL;
105     temp = BSL_PARAM_FindParam(param, 1);
106     ASSERT_EQ(temp, &param[0]);
107     temp = BSL_PARAM_FindParam(param, 2);
108     ASSERT_EQ(temp, &param[1]);
109     temp = BSL_PARAM_FindParam(param, 5);
110     ASSERT_EQ(temp, NULL);
111 
112 EXIT:
113     return;
114 }
115 /* END_CASE */
116