• 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 #include "bsl_buffer.h"
18 
19 /* END_HEADER */
20 
21 /* BEGIN_CASE */
SDV_BSL_BUFFER_FUNC_buffer_new(void)22 void SDV_BSL_BUFFER_FUNC_buffer_new(void)
23 {
24     TestMemInit();
25     // 1. Allocate a buffer.
26     BSL_BufMem *buf = BSL_BufMemNew();
27     ASSERT_EQ(buf->length, 0);
28     ASSERT_EQ(buf->max, 0);
29 
30     // 2. len=3, len > buf->max
31     (void)BSL_BufMemGrowClean(buf, 3);
32     ASSERT_EQ(buf->length, 3);
33     ASSERT_EQ(buf->max, 8);
34 
35     // 3. len=2, len < buf->length
36     (void)BSL_BufMemGrowClean(buf, 2);
37     ASSERT_EQ(buf->length, 2);
38     ASSERT_EQ(buf->max, 8);
39 
40     // 4. len=6, buf->length < len < buf->max
41     (void)BSL_BufMemGrowClean(buf, 6);
42     ASSERT_EQ(buf->length, 6);
43     ASSERT_EQ(buf->max, 8);
44 EXIT:
45     BSL_BufMemFree(buf);
46 }
47 /* END_CASE */