Fri, 23 May 2025 12:44:24 +0200
make test-compile depend on both static and shared
the shared lib is not needed for the tests,
but when run with coverage, gcov will be confused
when outdated line information is available from
a previous shared build
789
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1 | /* |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
3 | * |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
4 | * Copyright 2023 Mike Becker, Olaf Wintermann All rights reserved. |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
5 | * |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
6 | * Redistribution and use in source and binary forms, with or without |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
7 | * modification, are permitted provided that the following conditions are met: |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
8 | * |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
9 | * 1. Redistributions of source code must retain the above copyright |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
10 | * notice, this list of conditions and the following disclaimer. |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
11 | * |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
12 | * 2. Redistributions in binary form must reproduce the above copyright |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
13 | * notice, this list of conditions and the following disclaimer in the |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
14 | * documentation and/or other materials provided with the distribution. |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
15 | * |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
26 | * POSSIBILITY OF SUCH DAMAGE. |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
27 | */ |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
28 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
29 | #include "cx/test.h" |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
30 | #include "util_allocator.h" |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
31 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
32 | #include "cx/buffer.h" |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
33 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
34 | CX_TEST(test_buffer_init_wrap_space) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
35 | CxTestingAllocator talloc; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
36 | cx_testing_allocator_init(&talloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
37 | CxAllocator *alloc = &talloc.base; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
38 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
39 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
40 | void *space = cxMalloc(alloc, 16); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
41 | cxBufferInit(&buf, space, 16, alloc, CX_BUFFER_DEFAULT); |
1110 | 42 | CX_TEST_ASSERT(buf.flush == NULL); |
789
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
43 | CX_TEST_ASSERT(buf.space == space); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
44 | CX_TEST_ASSERT((buf.flags & CX_BUFFER_AUTO_EXTEND) == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
45 | CX_TEST_ASSERT((buf.flags & CX_BUFFER_FREE_CONTENTS) == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
46 | CX_TEST_ASSERT(buf.pos == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
47 | CX_TEST_ASSERT(buf.size == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
48 | CX_TEST_ASSERT(buf.capacity == 16); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
49 | CX_TEST_ASSERT(buf.allocator == alloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
50 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
51 | CX_TEST_ASSERT(!cx_testing_allocator_verify(&talloc)); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
52 | cxFree(alloc, space); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
53 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
54 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
55 | cx_testing_allocator_destroy(&talloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
56 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
57 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
58 | CX_TEST(test_buffer_init_wrap_space_auto_extend) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
59 | CxTestingAllocator talloc; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
60 | cx_testing_allocator_init(&talloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
61 | CxAllocator *alloc = &talloc.base; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
62 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
63 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
64 | void *space = cxMalloc(alloc, 16); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
65 | cxBufferInit(&buf, space, 16, alloc, CX_BUFFER_AUTO_EXTEND); |
1110 | 66 | CX_TEST_ASSERT(buf.flush == NULL); |
789
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
67 | CX_TEST_ASSERT(buf.space == space); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
68 | CX_TEST_ASSERT((buf.flags & CX_BUFFER_AUTO_EXTEND) == CX_BUFFER_AUTO_EXTEND); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
69 | CX_TEST_ASSERT((buf.flags & CX_BUFFER_FREE_CONTENTS) == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
70 | CX_TEST_ASSERT(buf.pos == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
71 | CX_TEST_ASSERT(buf.size == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
72 | CX_TEST_ASSERT(buf.capacity == 16); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
73 | CX_TEST_ASSERT(buf.allocator == alloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
74 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
75 | CX_TEST_ASSERT(!cx_testing_allocator_verify(&talloc)); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
76 | cxFree(alloc, space); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
77 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
78 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
79 | cx_testing_allocator_destroy(&talloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
80 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
81 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
82 | CX_TEST(test_buffer_init_wrap_space_auto_free) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
83 | CxTestingAllocator talloc; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
84 | cx_testing_allocator_init(&talloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
85 | CxAllocator *alloc = &talloc.base; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
86 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
87 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
88 | void *space = cxMalloc(alloc, 16); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
89 | cxBufferInit(&buf, space, 16, alloc, CX_BUFFER_FREE_CONTENTS); |
1110 | 90 | CX_TEST_ASSERT(buf.flush == NULL); |
789
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
91 | CX_TEST_ASSERT(buf.space == space); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
92 | CX_TEST_ASSERT((buf.flags & CX_BUFFER_AUTO_EXTEND) == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
93 | CX_TEST_ASSERT((buf.flags & CX_BUFFER_FREE_CONTENTS) == CX_BUFFER_FREE_CONTENTS); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
94 | CX_TEST_ASSERT(buf.pos == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
95 | CX_TEST_ASSERT(buf.size == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
96 | CX_TEST_ASSERT(buf.capacity == 16); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
97 | CX_TEST_ASSERT(buf.allocator == alloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
98 | CX_TEST_ASSERT(!cx_testing_allocator_verify(&talloc)); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
99 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
100 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
101 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
102 | cx_testing_allocator_destroy(&talloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
103 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
104 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
105 | CX_TEST(test_buffer_init_fresh_space) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
106 | CxTestingAllocator talloc; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
107 | cx_testing_allocator_init(&talloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
108 | CxAllocator *alloc = &talloc.base; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
109 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
110 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
111 | cxBufferInit(&buf, NULL, 8, alloc, CX_BUFFER_DEFAULT); |
1110 | 112 | CX_TEST_ASSERT(buf.flush == NULL); |
789
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
113 | CX_TEST_ASSERT(buf.space != NULL); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
114 | CX_TEST_ASSERT((buf.flags & CX_BUFFER_AUTO_EXTEND) == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
115 | CX_TEST_ASSERT((buf.flags & CX_BUFFER_FREE_CONTENTS) == CX_BUFFER_FREE_CONTENTS); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
116 | CX_TEST_ASSERT(buf.pos == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
117 | CX_TEST_ASSERT(buf.size == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
118 | CX_TEST_ASSERT(buf.capacity == 8); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
119 | CX_TEST_ASSERT(buf.allocator == alloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
120 | CX_TEST_ASSERT(!cx_testing_allocator_verify(&talloc)); // space is still allocated |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
121 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
122 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
123 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
124 | cx_testing_allocator_destroy(&talloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
125 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
126 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
127 | CX_TEST(test_buffer_init_on_heap) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
128 | CxTestingAllocator talloc; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
129 | cx_testing_allocator_init(&talloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
130 | CxAllocator *alloc = &talloc.base; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
131 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
132 | CxBuffer *buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
133 | void *space = cxMalloc(alloc, 16); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
134 | buf = cxBufferCreate(space, 16, alloc, CX_BUFFER_FREE_CONTENTS); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
135 | CX_TEST_ASSERT(buf != NULL); |
1110 | 136 | CX_TEST_ASSERT(buf->flush == NULL); |
789
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
137 | CX_TEST_ASSERT(buf->space == space); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
138 | CX_TEST_ASSERT((buf->flags & CX_BUFFER_AUTO_EXTEND) == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
139 | CX_TEST_ASSERT((buf->flags & CX_BUFFER_FREE_CONTENTS) == CX_BUFFER_FREE_CONTENTS); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
140 | CX_TEST_ASSERT(buf->pos == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
141 | CX_TEST_ASSERT(buf->size == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
142 | CX_TEST_ASSERT(buf->capacity == 16); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
143 | CX_TEST_ASSERT(buf->allocator == alloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
144 | cxBufferFree(buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
145 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
146 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
147 | cx_testing_allocator_destroy(&talloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
148 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
149 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
150 | CX_TEST(test_buffer_minimum_capacity_sufficient) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
151 | CxTestingAllocator talloc; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
152 | cx_testing_allocator_init(&talloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
153 | CxAllocator *alloc = &talloc.base; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
154 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
155 | void *space = cxMalloc(alloc, 8); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
156 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
157 | cxBufferInit(&buf, space, 8, alloc, CX_BUFFER_FREE_CONTENTS); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
158 | memcpy(space, "Testing", 8); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
159 | buf.size = 8; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
160 | cxBufferMinimumCapacity(&buf, 6); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
161 | CX_TEST_ASSERT(buf.capacity == 8); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
162 | CX_TEST_ASSERT(buf.size == 8); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
163 | CX_TEST_ASSERT(memcmp(buf.space, "Testing", 8) == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
164 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
165 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
166 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
167 | cx_testing_allocator_destroy(&talloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
168 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
169 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
170 | CX_TEST(test_buffer_minimum_capacity_extend) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
171 | CxTestingAllocator talloc; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
172 | cx_testing_allocator_init(&talloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
173 | CxAllocator *alloc = &talloc.base; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
174 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
175 | void *space = cxMalloc(alloc, 8); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
176 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
177 | cxBufferInit(&buf, space, 8, alloc, CX_BUFFER_FREE_CONTENTS); // NO auto extend! |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
178 | memcpy(space, "Testing", 8); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
179 | buf.size = 8; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
180 | cxBufferMinimumCapacity(&buf, 16); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
181 | CX_TEST_ASSERT(buf.capacity == 16); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
182 | CX_TEST_ASSERT(buf.size == 8); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
183 | CX_TEST_ASSERT(memcmp(buf.space, "Testing", 8) == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
184 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
185 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
186 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
187 | cx_testing_allocator_destroy(&talloc); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
188 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
189 | |
1290
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
190 | CX_TEST(test_buffer_shrink) { |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
191 | CxTestingAllocator talloc; |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
192 | cx_testing_allocator_init(&talloc); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
193 | CxAllocator *alloc = &talloc.base; |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
194 | CX_TEST_DO { |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
195 | CxBuffer buf; |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
196 | cxBufferInit(&buf, NULL, 16, alloc, CX_BUFFER_FREE_CONTENTS); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
197 | cxBufferPutString(&buf, "Testing"); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
198 | cxBufferTerminate(&buf); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
199 | CX_TEST_ASSERT(buf.capacity == 16); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
200 | CX_TEST_ASSERT(buf.size == 7); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
201 | cxBufferShrink(&buf, 4); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
202 | CX_TEST_ASSERT(buf.capacity == 11); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
203 | CX_TEST_ASSERT(buf.size == 7); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
204 | CX_TEST_ASSERT(memcmp(buf.space, "Testing", 8) == 0); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
205 | cxBufferDestroy(&buf); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
206 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
207 | } |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
208 | cx_testing_allocator_destroy(&talloc); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
209 | } |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
210 | |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
211 | CX_TEST(test_buffer_shrink_copy_on_write) { |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
212 | CxTestingAllocator talloc; |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
213 | cx_testing_allocator_init(&talloc); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
214 | CxAllocator *alloc = &talloc.base; |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
215 | CX_TEST_DO { |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
216 | CxBuffer buf; |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
217 | const char* space = "Testing"; |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
218 | cxBufferInit(&buf, (void*)space, 16, alloc, CX_BUFFER_COPY_ON_WRITE); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
219 | buf.size = 8; |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
220 | CX_TEST_ASSERT(buf.capacity == 16); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
221 | cxBufferShrink(&buf, 4); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
222 | CX_TEST_ASSERT(buf.capacity == 16); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
223 | CX_TEST_ASSERT(buf.size == 8); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
224 | CX_TEST_ASSERT(memcmp(buf.space, "Testing", 8) == 0); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
225 | CX_TEST_ASSERT(talloc.alloc_total == 0); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
226 | cxBufferDestroy(&buf); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
227 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
228 | } |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
229 | cx_testing_allocator_destroy(&talloc); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
230 | } |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
231 | |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
232 | CX_TEST(test_buffer_shrink_copy_on_extend) { |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
233 | CxTestingAllocator talloc; |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
234 | cx_testing_allocator_init(&talloc); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
235 | CxAllocator *alloc = &talloc.base; |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
236 | CX_TEST_DO { |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
237 | CxBuffer buf; |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
238 | char space[16] = "Testing"; |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
239 | cxBufferInit(&buf, space, 16, alloc, CX_BUFFER_COPY_ON_EXTEND); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
240 | buf.size = 8; |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
241 | CX_TEST_ASSERT(buf.capacity == 16); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
242 | cxBufferShrink(&buf, 4); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
243 | CX_TEST_ASSERT(buf.capacity == 16); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
244 | CX_TEST_ASSERT(buf.size == 8); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
245 | CX_TEST_ASSERT(memcmp(buf.space, "Testing", 8) == 0); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
246 | CX_TEST_ASSERT(talloc.alloc_total == 0); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
247 | cxBufferDestroy(&buf); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
248 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
249 | } |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
250 | cx_testing_allocator_destroy(&talloc); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
251 | } |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
252 | |
789
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
253 | CX_TEST(test_buffer_clear) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
254 | char space[16]; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
255 | strcpy(space, "clear test"); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
256 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
257 | cxBufferInit(&buf, space, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
258 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
259 | CX_TEST_ASSERT(buf.size == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
260 | // only clear the used part of the buffer |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
261 | cxBufferClear(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
262 | CX_TEST_ASSERT(0 == memcmp(space, "clear test", 10)); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
263 | buf.size = 5; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
264 | buf.pos = 3; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
265 | cxBufferClear(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
266 | CX_TEST_ASSERT(0 == memcmp(space, "\0\0\0\0\0 test", 10)); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
267 | CX_TEST_ASSERT(buf.size == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
268 | CX_TEST_ASSERT(buf.pos == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
269 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
270 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
271 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
272 | |
1024
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
273 | CX_TEST(test_buffer_clear_copy_on_write) { |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
274 | char space[16]; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
275 | strcpy(space, "clear test"); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
276 | CxBuffer buf; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
277 | cxBufferInit(&buf, space, 16, cxDefaultAllocator, CX_BUFFER_COPY_ON_WRITE); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
278 | CX_TEST_DO { |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
279 | buf.size = 5; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
280 | buf.pos = 3; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
281 | cxBufferClear(&buf); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
282 | CX_TEST_ASSERT(0 == memcmp(space, "clear test", 10)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
283 | CX_TEST_ASSERT(buf.size == 0); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
284 | CX_TEST_ASSERT(buf.pos == 0); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
285 | } |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
286 | cxBufferDestroy(&buf); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
287 | } |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
288 | |
789
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
289 | CX_TEST(test_buffer_reset) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
290 | char space[16]; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
291 | strcpy(space, "reset test"); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
292 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
293 | cxBufferInit(&buf, space, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
294 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
295 | buf.size = 5; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
296 | buf.pos = 3; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
297 | cxBufferReset(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
298 | CX_TEST_ASSERT(0 == memcmp(space, "reset test", 10)); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
299 | CX_TEST_ASSERT(buf.size == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
300 | CX_TEST_ASSERT(buf.pos == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
301 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
302 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
303 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
304 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
305 | CX_TEST(test_buffer_seek_set_zero) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
306 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
307 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
308 | buf.size = 6; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
309 | buf.pos = 3; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
310 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
311 | int result = cxBufferSeek(&buf, 0, SEEK_SET); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
312 | CX_TEST_ASSERT(result == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
313 | CX_TEST_ASSERT(buf.pos == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
314 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
315 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
316 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
317 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
318 | CX_TEST(test_buffer_seek_set_valid) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
319 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
320 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
321 | buf.size = 6; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
322 | buf.pos = 3; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
323 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
324 | int result = cxBufferSeek(&buf, 5, SEEK_SET); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
325 | CX_TEST_ASSERT(result == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
326 | CX_TEST_ASSERT(buf.pos == 5); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
327 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
328 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
329 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
330 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
331 | CX_TEST(test_buffer_seek_set_invalid) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
332 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
333 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
334 | buf.size = 6; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
335 | buf.pos = 3; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
336 | CX_TEST_DO { |
1007
81b2986d2b04
fix that cxBufferSeek() cannot move pos past the end - fixes #523
Mike Becker <universe@uap-core.de>
parents:
1006
diff
changeset
|
337 | int result = cxBufferSeek(&buf, 7, SEEK_SET); |
789
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
338 | CX_TEST_ASSERT(result != 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
339 | CX_TEST_ASSERT(buf.pos == 3); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
340 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
341 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
342 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
343 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
344 | CX_TEST(test_buffer_seek_cur_zero) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
345 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
346 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
347 | buf.size = 6; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
348 | buf.pos = 3; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
349 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
350 | int result = cxBufferSeek(&buf, 0, SEEK_CUR); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
351 | CX_TEST_ASSERT(result == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
352 | CX_TEST_ASSERT(buf.pos == 3); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
353 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
354 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
355 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
356 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
357 | CX_TEST(test_buffer_seek_cur_valid_positive) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
358 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
359 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
360 | buf.size = 6; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
361 | buf.pos = 3; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
362 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
363 | int result = cxBufferSeek(&buf, 2, SEEK_CUR); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
364 | CX_TEST_ASSERT(result == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
365 | CX_TEST_ASSERT(buf.pos == 5); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
366 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
367 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
368 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
369 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
370 | CX_TEST(test_buffer_seek_cur_valid_negative) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
371 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
372 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
373 | buf.size = 6; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
374 | buf.pos = 3; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
375 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
376 | int result = cxBufferSeek(&buf, -3, SEEK_CUR); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
377 | CX_TEST_ASSERT(result == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
378 | CX_TEST_ASSERT(buf.pos == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
379 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
380 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
381 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
382 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
383 | CX_TEST(test_buffer_seek_cur_invalid_positive) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
384 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
385 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
386 | buf.size = 6; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
387 | buf.pos = 3; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
388 | CX_TEST_DO { |
1007
81b2986d2b04
fix that cxBufferSeek() cannot move pos past the end - fixes #523
Mike Becker <universe@uap-core.de>
parents:
1006
diff
changeset
|
389 | int result = cxBufferSeek(&buf, 4, SEEK_CUR); |
789
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
390 | CX_TEST_ASSERT(result != 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
391 | CX_TEST_ASSERT(buf.pos == 3); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
392 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
393 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
394 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
395 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
396 | CX_TEST(test_buffer_seek_cur_invalid_negative) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
397 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
398 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
399 | buf.size = 6; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
400 | buf.pos = 3; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
401 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
402 | int result = cxBufferSeek(&buf, -4, SEEK_CUR); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
403 | CX_TEST_ASSERT(result != 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
404 | CX_TEST_ASSERT(buf.pos == 3); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
405 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
406 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
407 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
408 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
409 | CX_TEST(test_buffer_seek_end_zero) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
410 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
411 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
412 | buf.size = 6; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
413 | buf.pos = 3; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
414 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
415 | int result = cxBufferSeek(&buf, 0, SEEK_END); |
1007
81b2986d2b04
fix that cxBufferSeek() cannot move pos past the end - fixes #523
Mike Becker <universe@uap-core.de>
parents:
1006
diff
changeset
|
416 | CX_TEST_ASSERT(result == 0); |
81b2986d2b04
fix that cxBufferSeek() cannot move pos past the end - fixes #523
Mike Becker <universe@uap-core.de>
parents:
1006
diff
changeset
|
417 | CX_TEST_ASSERT(buf.pos == 6); |
789
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
418 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
419 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
420 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
421 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
422 | CX_TEST(test_buffer_seek_end_valid) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
423 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
424 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
425 | buf.size = 6; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
426 | buf.pos = 3; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
427 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
428 | int result = cxBufferSeek(&buf, -6, SEEK_END); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
429 | CX_TEST_ASSERT(result == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
430 | CX_TEST_ASSERT(buf.pos == 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
431 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
432 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
433 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
434 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
435 | CX_TEST(test_buffer_seek_end_invalid) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
436 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
437 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
438 | buf.size = 6; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
439 | buf.pos = 3; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
440 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
441 | int result = cxBufferSeek(&buf, 1, SEEK_END); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
442 | CX_TEST_ASSERT(result != 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
443 | CX_TEST_ASSERT(buf.pos == 3); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
444 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
445 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
446 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
447 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
448 | CX_TEST(test_buffer_seek_whence_invalid) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
449 | CxBuffer buf; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
450 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
451 | buf.size = 6; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
452 | buf.pos = 3; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
453 | CX_TEST_DO { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
454 | int result = cxBufferSeek(&buf, 2, 9000); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
455 | CX_TEST_ASSERT(result != 0); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
456 | CX_TEST_ASSERT(buf.size == 6); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
457 | CX_TEST_ASSERT(buf.pos == 3); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
458 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
459 | cxBufferDestroy(&buf); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
460 | } |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
461 | |
792
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
462 | CX_TEST(test_buffer_eof_reached) { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
463 | CxBuffer buf; |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
464 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
465 | buf.size = buf.pos = 3; |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
466 | CX_TEST_DO { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
467 | CX_TEST_ASSERT(cxBufferEof(&buf)); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
468 | buf.pos = buf.size - 1; |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
469 | CX_TEST_ASSERT(!cxBufferEof(&buf)); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
470 | cxBufferPut(&buf, 'a'); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
471 | CX_TEST_ASSERT(cxBufferEof(&buf)); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
472 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
473 | cxBufferDestroy(&buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
474 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
475 | |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
476 | CX_TEST(test_buffer_eof_not_reached) { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
477 | CxBuffer buf; |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
478 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
479 | buf.size = 6; |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
480 | CX_TEST_DO { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
481 | buf.pos = buf.size - 1; |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
482 | CX_TEST_ASSERT(!cxBufferEof(&buf)); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
483 | buf.pos = 0; |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
484 | cxBufferWrite("test", 1, 5, &buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
485 | CX_TEST_ASSERT(!cxBufferEof(&buf)); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
486 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
487 | cxBufferDestroy(&buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
488 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
489 | |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
490 | #define TEST_BUFFER_SHIFT_SETUP(buf) \ |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
491 | CxTestingAllocator talloc; \ |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
492 | cx_testing_allocator_init(&talloc); \ |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
493 | CxAllocator *alloc = &talloc.base; \ |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
494 | CxBuffer buf; \ |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
495 | cxBufferInit(&buf, NULL, 16, alloc, CX_BUFFER_DEFAULT); \ |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
496 | memcpy(buf.space, "test____XXXXXXXX", 16); \ |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
497 | buf.capacity = 8; \ |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
498 | buf.pos = 4; \ |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
499 | buf.size = 4 |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
500 | #define TEST_BUFFER_SHIFT_TEARDOWN(buf) \ |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
501 | cxBufferDestroy(&buf); \ |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
502 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); \ |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
503 | cx_testing_allocator_destroy(&talloc) |
792
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
504 | |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
505 | |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
506 | CX_TEST(test_buffer_shift_left_zero) { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
507 | TEST_BUFFER_SHIFT_SETUP(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
508 | CX_TEST_DO { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
509 | int ret = cxBufferShiftLeft(&buf, 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
510 | CX_TEST_ASSERT(ret == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
511 | CX_TEST_ASSERT(buf.pos == 4); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
512 | CX_TEST_ASSERT(buf.size == 4); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
513 | CX_TEST_ASSERT(memcmp(buf.space, "test____XXXXXXXX", 16) == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
514 | TEST_BUFFER_SHIFT_TEARDOWN(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
515 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
516 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
517 | |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
518 | CX_TEST(test_buffer_shift_left_zero_offset_interface) { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
519 | TEST_BUFFER_SHIFT_SETUP(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
520 | CX_TEST_DO { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
521 | int ret = cxBufferShift(&buf, -0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
522 | CX_TEST_ASSERT(ret == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
523 | CX_TEST_ASSERT(buf.pos == 4); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
524 | CX_TEST_ASSERT(buf.size == 4); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
525 | CX_TEST_ASSERT(memcmp(buf.space, "test____XXXXXXXX", 16) == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
526 | TEST_BUFFER_SHIFT_TEARDOWN(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
527 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
528 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
529 | |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
530 | CX_TEST(test_buffer_shift_left_standard) { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
531 | TEST_BUFFER_SHIFT_SETUP(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
532 | CX_TEST_DO { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
533 | int ret = cxBufferShiftLeft(&buf, 2); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
534 | CX_TEST_ASSERT(ret == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
535 | CX_TEST_ASSERT(buf.pos == 2); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
536 | CX_TEST_ASSERT(buf.size == 2); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
537 | CX_TEST_ASSERT(memcmp(buf.space, "stst____XXXXXXXX", 16) == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
538 | TEST_BUFFER_SHIFT_TEARDOWN(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
539 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
540 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
541 | |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
542 | CX_TEST(test_buffer_shift_left_overshift) { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
543 | TEST_BUFFER_SHIFT_SETUP(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
544 | CX_TEST_DO { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
545 | int ret = cxBufferShiftLeft(&buf, 6); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
546 | CX_TEST_ASSERT(ret == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
547 | CX_TEST_ASSERT(buf.pos == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
548 | CX_TEST_ASSERT(buf.size == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
549 | CX_TEST_ASSERT(memcmp(buf.space, "test____XXXXXXXX", 16) == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
550 | TEST_BUFFER_SHIFT_TEARDOWN(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
551 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
552 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
553 | |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
554 | CX_TEST(test_buffer_shift_left_overshift_pos_only) { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
555 | TEST_BUFFER_SHIFT_SETUP(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
556 | buf.pos = 2; |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
557 | CX_TEST_DO { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
558 | int ret = cxBufferShiftLeft(&buf, 3); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
559 | CX_TEST_ASSERT(ret == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
560 | CX_TEST_ASSERT(buf.pos == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
561 | CX_TEST_ASSERT(buf.size == 1); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
562 | CX_TEST_ASSERT(memcmp(buf.space, "test____XXXXXXXX", 16) == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
563 | TEST_BUFFER_SHIFT_TEARDOWN(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
564 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
565 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
566 | |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
567 | CX_TEST(test_buffer_shift_left_offset_interface) { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
568 | TEST_BUFFER_SHIFT_SETUP(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
569 | buf.pos = 3; |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
570 | CX_TEST_DO { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
571 | int ret = cxBufferShift(&buf, -2); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
572 | CX_TEST_ASSERT(ret == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
573 | CX_TEST_ASSERT(buf.pos == 1); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
574 | CX_TEST_ASSERT(buf.size == 2); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
575 | CX_TEST_ASSERT(memcmp(buf.space, "stst____XXXXXXXX", 16) == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
576 | TEST_BUFFER_SHIFT_TEARDOWN(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
577 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
578 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
579 | |
1024
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
580 | CX_TEST(test_buffer_shift_left_copy_on_write) { |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
581 | TEST_BUFFER_SHIFT_SETUP(buf); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
582 | buf.flags |= CX_BUFFER_COPY_ON_WRITE; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
583 | char *original = buf.space; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
584 | CX_TEST_DO { |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
585 | int ret = cxBufferShiftLeft(&buf, 2); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
586 | CX_TEST_ASSERT(0 == (buf.flags & CX_BUFFER_COPY_ON_WRITE)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
587 | CX_TEST_ASSERT(0 != (buf.flags & CX_BUFFER_FREE_CONTENTS)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
588 | CX_TEST_ASSERT(ret == 0); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
589 | CX_TEST_ASSERT(buf.pos == 2); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
590 | CX_TEST_ASSERT(buf.size == 2); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
591 | CX_TEST_ASSERT(memcmp(original, "test____XXXXXXXX", 16) == 0); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
592 | CX_TEST_ASSERT(memcmp(buf.space, "st", 2) == 0); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
593 | cxFree(buf.allocator, original); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
594 | TEST_BUFFER_SHIFT_TEARDOWN(buf); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
595 | } |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
596 | } |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
597 | |
792
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
598 | CX_TEST(test_buffer_shift_right_zero) { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
599 | TEST_BUFFER_SHIFT_SETUP(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
600 | CX_TEST_DO { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
601 | int ret = cxBufferShiftRight(&buf, 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
602 | CX_TEST_ASSERT(ret == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
603 | CX_TEST_ASSERT(buf.pos == 4); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
604 | CX_TEST_ASSERT(buf.size == 4); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
605 | CX_TEST_ASSERT(memcmp(buf.space, "test____XXXXXXXX", 16) == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
606 | TEST_BUFFER_SHIFT_TEARDOWN(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
607 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
608 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
609 | |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
610 | CX_TEST(test_buffer_shift_right_zero_offset_interface) { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
611 | TEST_BUFFER_SHIFT_SETUP(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
612 | CX_TEST_DO { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
613 | int ret = cxBufferShift(&buf, +0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
614 | CX_TEST_ASSERT(ret == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
615 | CX_TEST_ASSERT(buf.pos == 4); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
616 | CX_TEST_ASSERT(buf.size == 4); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
617 | CX_TEST_ASSERT(memcmp(buf.space, "test____XXXXXXXX", 16) == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
618 | TEST_BUFFER_SHIFT_TEARDOWN(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
619 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
620 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
621 | |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
622 | CX_TEST(test_buffer_shift_right_standard) { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
623 | TEST_BUFFER_SHIFT_SETUP(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
624 | CX_TEST_DO { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
625 | int ret = cxBufferShiftRight(&buf, 3); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
626 | CX_TEST_ASSERT(ret == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
627 | CX_TEST_ASSERT(buf.pos == 7); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
628 | CX_TEST_ASSERT(buf.size == 7); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
629 | CX_TEST_ASSERT(memcmp(buf.space, "testest_XXXXXXXX", 16) == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
630 | TEST_BUFFER_SHIFT_TEARDOWN(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
631 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
632 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
633 | |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
634 | CX_TEST(test_buffer_shift_right_overshift_discard) { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
635 | TEST_BUFFER_SHIFT_SETUP(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
636 | CX_TEST_DO { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
637 | int ret = cxBufferShiftRight(&buf, 6); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
638 | CX_TEST_ASSERT(ret == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
639 | CX_TEST_ASSERT(buf.pos == 8); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
640 | CX_TEST_ASSERT(buf.size == 8); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
641 | CX_TEST_ASSERT(buf.capacity == 8); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
642 | CX_TEST_ASSERT(memcmp(buf.space, "test__teXXXXXXXX", 16) == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
643 | TEST_BUFFER_SHIFT_TEARDOWN(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
644 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
645 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
646 | |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
647 | CX_TEST(test_buffer_shift_right_overshift_extend) { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
648 | TEST_BUFFER_SHIFT_SETUP(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
649 | buf.flags |= CX_BUFFER_AUTO_EXTEND; |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
650 | CX_TEST_DO { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
651 | int ret = cxBufferShiftRight(&buf, 6); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
652 | CX_TEST_ASSERT(ret == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
653 | CX_TEST_ASSERT(buf.pos == 10); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
654 | CX_TEST_ASSERT(buf.size == 10); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
655 | CX_TEST_ASSERT(buf.capacity >= 10); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
656 | // cannot assert more than 10 bytes because |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
657 | // the buffer was required to reallocate the space |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
658 | CX_TEST_ASSERT(memcmp(buf.space, "test__test", 10) == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
659 | TEST_BUFFER_SHIFT_TEARDOWN(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
660 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
661 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
662 | |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
663 | CX_TEST(test_buffer_shift_right_offset_interface) { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
664 | TEST_BUFFER_SHIFT_SETUP(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
665 | buf.pos = 3; |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
666 | CX_TEST_DO { |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
667 | int ret = cxBufferShift(&buf, 2); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
668 | CX_TEST_ASSERT(ret == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
669 | CX_TEST_ASSERT(buf.pos == 5); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
670 | CX_TEST_ASSERT(buf.size == 6); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
671 | CX_TEST_ASSERT(memcmp(buf.space, "tetest__XXXXXXXX", 16) == 0); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
672 | TEST_BUFFER_SHIFT_TEARDOWN(buf); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
673 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
674 | } |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
675 | |
1024
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
676 | CX_TEST(test_buffer_shift_right_copy_on_write) { |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
677 | TEST_BUFFER_SHIFT_SETUP(buf); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
678 | buf.flags |= CX_BUFFER_COPY_ON_WRITE; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
679 | char *original = buf.space; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
680 | CX_TEST_DO { |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
681 | int ret = cxBufferShiftRight(&buf, 3); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
682 | CX_TEST_ASSERT(0 == (buf.flags & CX_BUFFER_COPY_ON_WRITE)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
683 | CX_TEST_ASSERT(0 != (buf.flags & CX_BUFFER_FREE_CONTENTS)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
684 | CX_TEST_ASSERT(ret == 0); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
685 | CX_TEST_ASSERT(buf.pos == 7); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
686 | CX_TEST_ASSERT(buf.size == 7); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
687 | CX_TEST_ASSERT(memcmp(original, "test____XXXXXXXX", 16) == 0); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
688 | CX_TEST_ASSERT(memcmp(buf.space, "testest", 7) == 0); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
689 | cxFree(buf.allocator, original); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
690 | TEST_BUFFER_SHIFT_TEARDOWN(buf); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
691 | } |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
692 | } |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
693 | |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
694 | static size_t mock_write_limited_rate( |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
793
diff
changeset
|
695 | const void *ptr, |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
696 | size_t size, |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
890
diff
changeset
|
697 | cx_attr_unused size_t nitems, |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
698 | CxBuffer *buffer |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
699 | ) { |
1110 | 700 | return cxBufferWrite(ptr, size, nitems > 2 ? 2 : nitems, buffer); |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
701 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
702 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
703 | CX_TEST(test_buffer_write_size_one_fit) { |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
704 | CxBuffer buf; |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
705 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
706 | memcpy(buf.space, "prep\0\0\0\0\0\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
707 | buf.capacity = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
708 | buf.size = buf.pos = 4; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
709 | const char *data = "test"; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
710 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
711 | size_t written = cxBufferWrite(data, 1, 4, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
712 | CX_TEST_ASSERT(written == 4); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
713 | CX_TEST_ASSERT(buf.size == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
714 | CX_TEST_ASSERT(buf.pos == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
715 | CX_TEST_ASSERT(buf.capacity == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
716 | CX_TEST_ASSERT(0 == memcmp(buf.space, "preptest", 8)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
717 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
718 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
719 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
720 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
721 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
722 | CX_TEST(test_buffer_write_size_one_discard) { |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
723 | CxBuffer buf; |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
724 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
725 | memcpy(buf.space, "prep\0\0\0\0\0\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
726 | buf.capacity = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
727 | buf.size = buf.pos = 4; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
728 | const char *data = "testing"; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
729 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
730 | size_t written = cxBufferWrite(data, 1, 7, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
731 | CX_TEST_ASSERT(written == 4); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
732 | CX_TEST_ASSERT(buf.size == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
733 | CX_TEST_ASSERT(buf.pos == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
734 | CX_TEST_ASSERT(buf.capacity == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
735 | CX_TEST_ASSERT(0 == memcmp(buf.space, "preptest\0", 9)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
736 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
737 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
738 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
739 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
740 | CX_TEST(test_buffer_write_size_one_extend) { |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
741 | CxBuffer buf; |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
742 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
743 | memcpy(buf.space, "prep\0\0\0\0\0\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
744 | buf.capacity = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
745 | buf.size = buf.pos = 4; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
746 | buf.flags |= CX_BUFFER_AUTO_EXTEND; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
747 | const char *data = "testing"; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
748 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
749 | size_t written = cxBufferWrite(data, 1, 7, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
750 | CX_TEST_ASSERT(written == 7); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
751 | CX_TEST_ASSERT(buf.size == 11); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
752 | CX_TEST_ASSERT(buf.pos == 11); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
753 | CX_TEST_ASSERT(buf.capacity >= 11); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
754 | CX_TEST_ASSERT(0 == memcmp(buf.space, "preptesting", 11)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
755 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
756 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
757 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
758 | |
1024
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
759 | CX_TEST(test_buffer_write_copy_on_write) { |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
760 | CxBuffer buf; |
1302
d1cb5f107f1e
fix unnecessary explicit zero-terminator
Mike Becker <universe@uap-core.de>
parents:
1291
diff
changeset
|
761 | char original[16] = "preparedXXXXXXX"; |
1024
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
762 | cxBufferInit(&buf, original, 16, cxDefaultAllocator, CX_BUFFER_COPY_ON_WRITE); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
763 | buf.capacity = 8; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
764 | buf.size = 8; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
765 | buf.pos = 0; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
766 | const char *data = "testing"; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
767 | CX_TEST_DO { |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
768 | size_t written = cxBufferWrite(data, 1, 7, &buf); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
769 | CX_TEST_ASSERT(written == 7); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
770 | CX_TEST_ASSERT(buf.size == 8); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
771 | CX_TEST_ASSERT(buf.pos == 7); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
772 | CX_TEST_ASSERT(buf.capacity == 8); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
773 | CX_TEST_ASSERT(0 == memcmp(buf.space, "testingd", 8)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
774 | CX_TEST_ASSERT(0 == memcmp(original, "preparedXXXXXXX\0", 16)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
775 | CX_TEST_ASSERT(0 == (buf.flags & CX_BUFFER_COPY_ON_WRITE)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
776 | CX_TEST_ASSERT(0 != (buf.flags & CX_BUFFER_FREE_CONTENTS)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
777 | } |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
778 | cxBufferDestroy(&buf); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
779 | } |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
780 | |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
781 | CX_TEST(test_buffer_write_multibyte_fit) { |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
782 | CxBuffer buf; |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
783 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
784 | memcpy(buf.space, "prep\0\0\0\0\0\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
785 | buf.capacity = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
786 | buf.size = buf.pos = 4; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
787 | const char *data = "test"; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
788 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
789 | size_t written = cxBufferWrite(data, 2, 2, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
790 | CX_TEST_ASSERT(written == 2); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
791 | CX_TEST_ASSERT(buf.size == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
792 | CX_TEST_ASSERT(buf.pos == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
793 | CX_TEST_ASSERT(buf.capacity == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
794 | CX_TEST_ASSERT(0 == memcmp(buf.space, "preptest", 8)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
795 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
796 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
797 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
798 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
799 | CX_TEST(test_buffer_write_multibyte_discard) { |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
800 | CxBuffer buf; |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
801 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
802 | memcpy(buf.space, "prep\0\0\0\0\0\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
803 | buf.capacity = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
804 | buf.size = 4; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
805 | buf.pos = 3; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
806 | const char *data = "testing"; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
807 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
808 | size_t written = cxBufferWrite(data, 2, 4, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
809 | // remember: whole elements are discarded if they do not fit |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
810 | CX_TEST_ASSERT(written == 2); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
811 | CX_TEST_ASSERT(buf.size == 7); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
812 | CX_TEST_ASSERT(buf.pos == 7); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
813 | CX_TEST_ASSERT(buf.capacity == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
814 | CX_TEST_ASSERT(0 == memcmp(buf.space, "pretest\0", 8)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
815 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
816 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
817 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
818 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
819 | CX_TEST(test_buffer_write_multibyte_extend) { |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
820 | CxBuffer buf; |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
821 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
822 | memcpy(buf.space, "prep\0\0\0\0\0\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
823 | buf.capacity = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
824 | buf.size = 4; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
825 | buf.pos = 3; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
826 | buf.flags |= CX_BUFFER_AUTO_EXTEND; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
827 | const char *data = "tester"; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
828 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
829 | size_t written = cxBufferWrite(data, 2, 3, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
830 | // remember: whole elements are discarded if they do not fit |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
831 | CX_TEST_ASSERT(written == 3); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
832 | CX_TEST_ASSERT(buf.size == 9); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
833 | CX_TEST_ASSERT(buf.pos == 9); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
834 | CX_TEST_ASSERT(buf.capacity >= 9); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
835 | CX_TEST_ASSERT(0 == memcmp(buf.space, "pretester", 9)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
836 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
837 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
838 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
839 | |
1030
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
840 | CX_TEST(test_buffer_append) { |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
841 | CxBuffer buf; |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
842 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_AUTO_EXTEND); |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
843 | memcpy(buf.space, "prepXXXX\0\0\0\0\0\0\0\0", 16); |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
844 | buf.capacity = 8; |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
845 | buf.size = 6; |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
846 | buf.pos = 4; |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
847 | CX_TEST_DO { |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
848 | size_t written = cxBufferAppend("testing", 1, 7, &buf); |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
849 | CX_TEST_ASSERT(written == 7); |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
850 | CX_TEST_ASSERT(buf.size == 13); |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
851 | CX_TEST_ASSERT(buf.pos == 4); |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
852 | CX_TEST_ASSERT(buf.capacity >= 13); |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
853 | CX_TEST_ASSERT(0 == memcmp(buf.space, "prepXXtesting", 13)); |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
854 | } |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
855 | cxBufferDestroy(&buf); |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
856 | } |
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
857 | |
1131
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
858 | CX_TEST(test_buffer_append_flush) { |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
859 | CxBuffer buf, target; |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
860 | cxBufferInit(&buf, NULL, 8, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
861 | cxBufferInit(&target, NULL, 8, cxDefaultAllocator, CX_BUFFER_AUTO_EXTEND); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
862 | memcpy(buf.space, "prepXXXX", 8); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
863 | buf.capacity = 8; |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
864 | buf.size = 6; |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
865 | buf.pos = 4; |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
866 | CxBufferFlushConfig flush; |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
867 | flush.threshold = 0; |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
868 | flush.blksize = 4; |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
869 | flush.blkmax = 1; |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
870 | flush.target = ⌖ |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
871 | flush.wfunc = cxBufferWriteFunc; |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
872 | cxBufferEnableFlushing(&buf, flush); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
873 | CX_TEST_DO{ |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
874 | size_t written = cxBufferAppend("testing", 1, 7, &buf); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
875 | CX_TEST_ASSERT(written == 7); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
876 | CX_TEST_ASSERT(buf.size == 7); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
877 | CX_TEST_ASSERTM(buf.pos == 0, "position not correctly reset"); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
878 | CX_TEST_ASSERT(buf.capacity == 8); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
879 | CX_TEST_ASSERT(target.size == 6); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
880 | CX_TEST_ASSERT(target.pos == 6); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
881 | CX_TEST_ASSERT(0 == memcmp(buf.space, "testing", 7)); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
882 | CX_TEST_ASSERT(0 == memcmp(target.space, "prepXX", 6)); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
883 | // second test - position only shifted by one block |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
884 | buf.pos = 6; |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
885 | written = cxBufferAppend("foo", 1, 3, &buf); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
886 | CX_TEST_ASSERT(written == 3); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
887 | CX_TEST_ASSERT(buf.size == 6); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
888 | CX_TEST_ASSERTM(buf.pos == 2, "position not correctly adjusted"); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
889 | CX_TEST_ASSERT(buf.capacity == 8); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
890 | CX_TEST_ASSERT(target.size == 10); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
891 | CX_TEST_ASSERT(target.pos == 10); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
892 | CX_TEST_ASSERT(0 == memcmp(buf.space, "ingfoo", 6)); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
893 | CX_TEST_ASSERT(0 == memcmp(target.space, "prepXXtest", 10)); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
894 | } |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
895 | cxBufferDestroy(&buf); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
896 | cxBufferDestroy(&target); |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
897 | } |
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
898 | |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
899 | CX_TEST(test_buffer_put_fit) { |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
900 | CxBuffer buf; |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
901 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
902 | memcpy(buf.space, "prep\0\0\0\0\0\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
903 | buf.capacity = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
904 | buf.size = buf.pos = 4; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
905 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
906 | int c = cxBufferPut(&buf, 0x200 | 'a'); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
907 | CX_TEST_ASSERT(c == 'a'); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
908 | CX_TEST_ASSERT(buf.size == 5); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
909 | CX_TEST_ASSERT(buf.pos == 5); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
910 | CX_TEST_ASSERT(buf.capacity == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
911 | CX_TEST_ASSERT(0 == memcmp(buf.space, "prepa\0", 6)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
912 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
913 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
914 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
915 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
916 | CX_TEST(test_buffer_put_discard) { |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
917 | CxBuffer buf; |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
918 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
919 | memcpy(buf.space, "prep\0\0\0\0\0\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
920 | buf.capacity = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
921 | buf.size = 4; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
922 | buf.pos = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
923 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
924 | int c = cxBufferPut(&buf, 0x200 | 'a'); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
925 | CX_TEST_ASSERT(c == EOF); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
926 | CX_TEST_ASSERT(buf.size == 4); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
927 | CX_TEST_ASSERT(buf.pos == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
928 | CX_TEST_ASSERT(buf.capacity == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
929 | CX_TEST_ASSERT(0 == memcmp(buf.space, "prep\0\0\0\0\0", 9)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
930 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
931 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
932 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
933 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
934 | CX_TEST(test_buffer_put_extend) { |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
935 | CxBuffer buf; |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
936 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
937 | memcpy(buf.space, "prep\0\0\0\0\0\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
938 | buf.capacity = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
939 | buf.size = 4; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
940 | buf.pos = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
941 | buf.flags |= CX_BUFFER_AUTO_EXTEND; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
942 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
943 | int c = cxBufferPut(&buf, 0x200 | 'a'); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
944 | CX_TEST_ASSERT(c == 'a'); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
945 | CX_TEST_ASSERT(buf.size == 9); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
946 | CX_TEST_ASSERT(buf.pos == 9); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
947 | CX_TEST_ASSERT(buf.capacity >= 9); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
948 | CX_TEST_ASSERT(0 == memcmp(buf.space, "prep\0\0\0\0a", 9)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
949 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
950 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
951 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
952 | |
1024
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
953 | CX_TEST(test_buffer_put_copy_on_write) { |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
954 | CxBuffer buf; |
1302
d1cb5f107f1e
fix unnecessary explicit zero-terminator
Mike Becker <universe@uap-core.de>
parents:
1291
diff
changeset
|
955 | char original[16] = "preparedXXXXXXX"; |
1024
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
956 | cxBufferInit(&buf, original, 16, cxDefaultAllocator, CX_BUFFER_COPY_ON_WRITE); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
957 | buf.capacity = 8; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
958 | buf.size = 8; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
959 | buf.pos = 8; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
960 | CX_TEST_DO { |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
961 | int c = cxBufferPut(&buf, 0x200 | 'a'); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
962 | CX_TEST_ASSERT(c == EOF); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
963 | CX_TEST_ASSERT(buf.size == 8); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
964 | CX_TEST_ASSERT(buf.pos == 8); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
965 | CX_TEST_ASSERT(buf.capacity == 8); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
966 | CX_TEST_ASSERT(0 == memcmp(buf.space, "prepared", 8)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
967 | // discarded, no write happend! |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
968 | CX_TEST_ASSERT(original == buf.space); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
969 | CX_TEST_ASSERT(0 != (buf.flags & CX_BUFFER_COPY_ON_WRITE)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
970 | CX_TEST_ASSERT(0 == (buf.flags & CX_BUFFER_FREE_CONTENTS)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
971 | // now actually write somewhere |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
972 | buf.pos = 2; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
973 | c = cxBufferPut(&buf, 0x200 | 'a'); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
974 | CX_TEST_ASSERT(c == 'a'); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
975 | CX_TEST_ASSERT(buf.size == 8); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
976 | CX_TEST_ASSERT(buf.pos == 3); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
977 | CX_TEST_ASSERT(buf.capacity == 8); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
978 | CX_TEST_ASSERT(0 == memcmp(buf.space, "prapared", 8)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
979 | CX_TEST_ASSERT(original != buf.space); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
980 | CX_TEST_ASSERT(0 == memcmp(original, "preparedXXXXXXX\0", 16)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
981 | CX_TEST_ASSERT(0 == (buf.flags & CX_BUFFER_COPY_ON_WRITE)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
982 | CX_TEST_ASSERT(0 != (buf.flags & CX_BUFFER_FREE_CONTENTS)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
983 | } |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
984 | cxBufferDestroy(&buf); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
985 | } |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
986 | |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
987 | CX_TEST(test_buffer_put_string_fit) { |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
988 | CxBuffer buf; |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
989 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
990 | memcpy(buf.space, "prep\0\0\0\0\0\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
991 | buf.capacity = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
992 | buf.size = buf.pos = 4; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
993 | const char *data = "test"; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
994 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
995 | size_t written = cxBufferPutString(&buf, data); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
996 | CX_TEST_ASSERT(written == 4); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
997 | CX_TEST_ASSERT(buf.size == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
998 | CX_TEST_ASSERT(buf.pos == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
999 | CX_TEST_ASSERT(buf.capacity == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1000 | CX_TEST_ASSERT(0 == memcmp(buf.space, "preptest", 8)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1001 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1002 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1003 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1004 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1005 | CX_TEST(test_buffer_put_string_discard) { |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1006 | CxBuffer buf; |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1007 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1008 | memcpy(buf.space, "prep\0\0\0\0\0\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1009 | buf.capacity = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1010 | buf.size = buf.pos = 4; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1011 | const char *data = "testing"; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1012 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1013 | size_t written = cxBufferPutString(&buf, data); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1014 | CX_TEST_ASSERT(written == 4); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1015 | CX_TEST_ASSERT(buf.size == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1016 | CX_TEST_ASSERT(buf.pos == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1017 | CX_TEST_ASSERT(buf.capacity == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1018 | CX_TEST_ASSERT(0 == memcmp(buf.space, "preptest\0", 9)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1019 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1020 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1021 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1022 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1023 | CX_TEST(test_buffer_put_string_extend) { |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1024 | CxBuffer buf; |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1025 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1026 | memcpy(buf.space, "prep\0\0\0\0\0\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1027 | buf.capacity = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1028 | buf.size = buf.pos = 4; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1029 | buf.flags |= CX_BUFFER_AUTO_EXTEND; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1030 | const char *data = "testing"; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1031 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1032 | size_t written = cxBufferPutString(&buf, data); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1033 | CX_TEST_ASSERT(written == 7); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1034 | CX_TEST_ASSERT(buf.size == 11); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1035 | CX_TEST_ASSERT(buf.pos == 11); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1036 | CX_TEST_ASSERT(buf.capacity >= 11); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1037 | CX_TEST_ASSERT(0 == memcmp(buf.space, "preptesting", 11)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1038 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1039 | cxBufferDestroy(&buf); |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1040 | } |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1041 | |
1028
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1042 | CX_TEST(test_buffer_put_string_copy_on_extend) { |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1043 | CxTestingAllocator talloc; |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1044 | cx_testing_allocator_init(&talloc); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1045 | const CxAllocator *alloc = &talloc.base; |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1046 | CxBuffer buf; |
1302
d1cb5f107f1e
fix unnecessary explicit zero-terminator
Mike Becker <universe@uap-core.de>
parents:
1291
diff
changeset
|
1047 | char original[16] = "preparedXXXXXXX"; |
1028
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1048 | CX_TEST_DO { |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1049 | cxBufferInit(&buf, original, 16, alloc, CX_BUFFER_COPY_ON_EXTEND); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1050 | buf.capacity = 8; |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1051 | buf.size = buf.pos = 4; |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1052 | size_t written = cxBufferPutString(&buf, "test"); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1053 | CX_TEST_ASSERT(written == 4); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1054 | CX_TEST_ASSERT(buf.size == 8); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1055 | CX_TEST_ASSERT(buf.pos == 8); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1056 | CX_TEST_ASSERT(buf.capacity == 8); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1057 | CX_TEST_ASSERT(0 == memcmp(buf.space, "preptest", 8)); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1058 | CX_TEST_ASSERT(original == buf.space); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1059 | written = cxBufferPutString(&buf, "ing"); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1060 | CX_TEST_ASSERT(written == 3); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1061 | CX_TEST_ASSERT(buf.size == 11); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1062 | CX_TEST_ASSERT(buf.pos == 11); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1063 | CX_TEST_ASSERT(buf.capacity >= 11); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1064 | CX_TEST_ASSERT(0 == memcmp(buf.space, "preptesting", 11)); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1065 | CX_TEST_ASSERT(original != buf.space); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1066 | CX_TEST_ASSERT(0 == memcmp(original, "preptestXXXXXXX\0", 16)); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1067 | CX_TEST_ASSERT(!cx_testing_allocator_verify(&talloc)); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1068 | cxBufferDestroy(&buf); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1069 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1070 | cx_testing_allocator_destroy(&talloc); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1071 | } |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1072 | } |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1073 | |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1074 | CX_TEST(test_buffer_put_string_copy_on_write) { |
1024
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1075 | CxBuffer buf; |
1302
d1cb5f107f1e
fix unnecessary explicit zero-terminator
Mike Becker <universe@uap-core.de>
parents:
1291
diff
changeset
|
1076 | char original[16] = "preparedXXXXXXX"; |
1024
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1077 | cxBufferInit(&buf, original, 16, cxDefaultAllocator, CX_BUFFER_COPY_ON_WRITE); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1078 | buf.capacity = 8; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1079 | buf.size = 8; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1080 | buf.pos = 4; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1081 | buf.flags |= CX_BUFFER_AUTO_EXTEND; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1082 | const char *data = "testing"; |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1083 | CX_TEST_DO { |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1084 | size_t written = cxBufferPutString(&buf, data); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1085 | CX_TEST_ASSERT(written == 7); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1086 | CX_TEST_ASSERT(buf.size == 11); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1087 | CX_TEST_ASSERT(buf.pos == 11); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1088 | CX_TEST_ASSERT(buf.capacity >= 11); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1089 | CX_TEST_ASSERT(0 == memcmp(buf.space, "preptesting", 11)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1090 | CX_TEST_ASSERT(original != buf.space); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1091 | CX_TEST_ASSERT(0 == memcmp(original, "preparedXXXXXXX\0", 16)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1092 | CX_TEST_ASSERT(0 == (buf.flags & CX_BUFFER_COPY_ON_WRITE)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1093 | CX_TEST_ASSERT(0 != (buf.flags & CX_BUFFER_FREE_CONTENTS)); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1094 | } |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1095 | cxBufferDestroy(&buf); |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1096 | } |
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1097 | |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1098 | CX_TEST(test_buffer_terminate) { |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1099 | CxBuffer buf; |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1100 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1101 | memcpy(buf.space, "prepAAAAAA\0\0\0\0\0\0", 16); |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1102 | buf.capacity = 8; |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1103 | buf.size = buf.pos = 4; |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1104 | const char *data = "test"; |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1105 | CX_TEST_DO { |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1106 | size_t written = cxBufferPutString(&buf, data); |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1107 | CX_TEST_ASSERT(0 != cxBufferTerminate(&buf)); |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1108 | CX_TEST_ASSERT(written == 4); |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1109 | CX_TEST_ASSERT(buf.size == 8); |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1110 | CX_TEST_ASSERT(buf.pos == 8); |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1111 | CX_TEST_ASSERT(buf.capacity == 8); |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1112 | CX_TEST_ASSERT(0 == memcmp(buf.space, "preptestAA", 10)); |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1113 | buf.flags |= CX_BUFFER_AUTO_EXTEND; |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1114 | CX_TEST_ASSERT(0 == cxBufferTerminate(&buf)); |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1115 | CX_TEST_ASSERT(buf.size == 8); |
1284
b2103354baed
fix implementation of cxBufferTerminate() - fixes #631
Mike Becker <universe@uap-core.de>
parents:
1135
diff
changeset
|
1116 | CX_TEST_ASSERT(buf.pos == 9); |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1117 | CX_TEST_ASSERT(buf.capacity > 8); |
1023
989e144c912a
fix out of range access in test on platforms which are actually shrinking the buffer
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1118 | CX_TEST_ASSERT(0 == memcmp(buf.space, "preptest\0", 9)); |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1119 | } |
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1120 | cxBufferDestroy(&buf); |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1121 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1122 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1123 | CX_TEST(test_buffer_write_size_overflow) { |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1124 | CxBuffer buf; |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1125 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1126 | memcpy(buf.space, "prep\0\0\0\0\0\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1127 | buf.capacity = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1128 | buf.size = buf.pos = 4; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1129 | const char *data = "testing"; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1130 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1131 | size_t written = cxBufferWrite(data, 8, SIZE_MAX / 4, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1132 | CX_TEST_ASSERT(written == 0); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1133 | CX_TEST_ASSERT(buf.capacity == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1134 | CX_TEST_ASSERT(buf.pos == 4); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1135 | CX_TEST_ASSERT(buf.size == 4); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1136 | CX_TEST_ASSERT(0 == memcmp(buf.space, "prep\0", 5)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1137 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1138 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1139 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1140 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1141 | CX_TEST(test_buffer_write_capacity_overflow) { |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1142 | CxBuffer buf; |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1143 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1144 | memcpy(buf.space, "prep\0\0\0\0\0\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1145 | buf.capacity = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1146 | buf.size = buf.pos = 4; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1147 | buf.flags |= CX_BUFFER_AUTO_EXTEND; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1148 | const char *data = "testing"; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1149 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1150 | size_t written = cxBufferWrite(data, 1, SIZE_MAX - 2, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1151 | CX_TEST_ASSERT(written == 0); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1152 | CX_TEST_ASSERT(buf.capacity == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1153 | CX_TEST_ASSERT(buf.pos == 4); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1154 | CX_TEST_ASSERT(buf.size == 4); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1155 | CX_TEST_ASSERT(0 == memcmp(buf.space, "prep\0", 5)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1156 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1157 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1158 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1159 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1160 | CX_TEST(test_buffer_write_only_overwrite) { |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1161 | CxBuffer buf; |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1162 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1163 | memcpy(buf.space, "preptest\0\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1164 | buf.capacity = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1165 | buf.pos = 3; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1166 | buf.size = 8; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1167 | buf.flags |= CX_BUFFER_AUTO_EXTEND; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1168 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1169 | size_t written = cxBufferWrite("XXX", 2, 2, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1170 | CX_TEST_ASSERT(written == 2); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1171 | CX_TEST_ASSERT(buf.capacity == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1172 | CX_TEST_ASSERT(buf.size == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1173 | CX_TEST_ASSERT(buf.pos == 7); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1174 | CX_TEST_ASSERT(0 == memcmp(buf.space, "preXXX\0t", 8)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1175 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1176 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1177 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1178 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1179 | CX_TEST(test_buffer_write_flush_at_capacity) { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1180 | CxBuffer buf, target; |
1110 | 1181 | cxBufferInit(&target, NULL, 8, cxDefaultAllocator, CX_BUFFER_AUTO_EXTEND); |
1182 | cxBufferInit(&buf, NULL, 8, cxDefaultAllocator, CX_BUFFER_DEFAULT); | |
1183 | memset(buf.space, 0, 8); | |
1184 | cxBufferPutString(&buf, "prep"); | |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1185 | CX_TEST_DO { |
1110 | 1186 | CxBufferFlushConfig flush; |
1187 | flush.threshold = 0; | |
1188 | flush.blksize = 32; | |
1189 | flush.blkmax = 1; | |
1190 | flush.target = ⌖ | |
1112
22dc2163fffd
add convenience macros to avoid a fptr cast for cxBufferRead and cxBufferWrite
Mike Becker <universe@uap-core.de>
parents:
1110
diff
changeset
|
1191 | flush.wfunc = cxBufferWriteFunc; |
1110 | 1192 | CX_TEST_ASSERT(0 == cxBufferEnableFlushing(&buf, flush)); |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1193 | size_t written = cxBufferWrite("foo", 1, 3, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1194 | CX_TEST_ASSERT(written == 3); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1195 | CX_TEST_ASSERT(buf.pos == 7); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1196 | CX_TEST_ASSERT(buf.size == 7); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1197 | CX_TEST_ASSERT(target.pos == 0); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1198 | CX_TEST_ASSERT(target.size == 0); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1199 | written = cxBufferWrite("hello", 1, 5, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1200 | CX_TEST_ASSERT(written == 5); |
1110 | 1201 | CX_TEST_ASSERT(buf.pos == 5); |
1202 | CX_TEST_ASSERT(buf.size == 5); | |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1203 | CX_TEST_ASSERT(buf.capacity == 8); |
1110 | 1204 | CX_TEST_ASSERT(target.pos == 7); |
1205 | CX_TEST_ASSERT(target.size == 7); | |
1206 | CX_TEST_ASSERT(0 == memcmp(buf.space, "hello", 5)); | |
1207 | CX_TEST_ASSERT(0 == memcmp(target.space, "prepfoo", 7)); | |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1208 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1209 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1210 | cxBufferDestroy(&target); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1211 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1212 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1213 | CX_TEST(test_buffer_write_flush_at_threshold) { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1214 | CxBuffer buf, target; |
1110 | 1215 | cxBufferInit(&target, NULL, 8, cxDefaultAllocator, CX_BUFFER_AUTO_EXTEND); |
1216 | cxBufferInit(&buf, NULL, 8, cxDefaultAllocator, CX_BUFFER_AUTO_EXTEND); | |
1217 | cxBufferPutString(&buf, "prep"); | |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1218 | CX_TEST_DO { |
1110 | 1219 | CxBufferFlushConfig flush; |
1291
5942859fd76c
new auto-extend strategy for CxBuffer - resolves #641
Mike Becker <universe@uap-core.de>
parents:
1290
diff
changeset
|
1220 | flush.threshold = 16; |
1110 | 1221 | flush.blksize = 32; |
1222 | flush.blkmax = 1; | |
1223 | flush.target = ⌖ | |
1112
22dc2163fffd
add convenience macros to avoid a fptr cast for cxBufferRead and cxBufferWrite
Mike Becker <universe@uap-core.de>
parents:
1110
diff
changeset
|
1224 | flush.wfunc = cxBufferWriteFunc; |
1110 | 1225 | CX_TEST_ASSERT(0 == cxBufferEnableFlushing(&buf, flush)); |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1226 | size_t written = cxBufferWrite("foobar", 1, 6, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1227 | CX_TEST_ASSERT(written == 6); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1228 | CX_TEST_ASSERT(buf.pos == 10); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1229 | CX_TEST_ASSERT(buf.size == 10); |
1291
5942859fd76c
new auto-extend strategy for CxBuffer - resolves #641
Mike Becker <universe@uap-core.de>
parents:
1290
diff
changeset
|
1230 | CX_TEST_ASSERT(buf.capacity == 16); |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1231 | CX_TEST_ASSERT(target.pos == 0); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1232 | CX_TEST_ASSERT(target.size == 0); |
1291
5942859fd76c
new auto-extend strategy for CxBuffer - resolves #641
Mike Becker <universe@uap-core.de>
parents:
1290
diff
changeset
|
1233 | written = cxBufferWrite("hello world", 1, 11, &buf); |
5942859fd76c
new auto-extend strategy for CxBuffer - resolves #641
Mike Becker <universe@uap-core.de>
parents:
1290
diff
changeset
|
1234 | CX_TEST_ASSERT(written == 11); |
5942859fd76c
new auto-extend strategy for CxBuffer - resolves #641
Mike Becker <universe@uap-core.de>
parents:
1290
diff
changeset
|
1235 | CX_TEST_ASSERT(buf.pos == 11); |
5942859fd76c
new auto-extend strategy for CxBuffer - resolves #641
Mike Becker <universe@uap-core.de>
parents:
1290
diff
changeset
|
1236 | CX_TEST_ASSERT(buf.size == 11); |
5942859fd76c
new auto-extend strategy for CxBuffer - resolves #641
Mike Becker <universe@uap-core.de>
parents:
1290
diff
changeset
|
1237 | CX_TEST_ASSERT(buf.capacity == 16); |
1110 | 1238 | CX_TEST_ASSERT(target.pos == 10); |
1239 | CX_TEST_ASSERT(target.size == 10); | |
1240 | CX_TEST_ASSERT(0 == memcmp(buf.space, "hello", 5)); | |
1241 | CX_TEST_ASSERT(0 == memcmp(target.space, "prepfoobar", 10)); | |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1242 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1243 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1244 | cxBufferDestroy(&target); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1245 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1246 | |
1110 | 1247 | CX_TEST(test_buffer_write_flush_rate_limited_and_buffer_too_small) { |
1248 | // the idea is that the target only accepts two bytes and | |
1249 | // then gives up... accepts another two bytes, gives up, etc. | |
1250 | // and at the same time, the written string is too large for | |
1251 | // the buffer (buffer can take 8, we want to write 13) | |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1252 | CxBuffer buf, target; |
1110 | 1253 | cxBufferInit(&target, NULL, 8, cxDefaultAllocator, CX_BUFFER_AUTO_EXTEND); |
1254 | cxBufferInit(&buf, NULL, 8, cxDefaultAllocator, CX_BUFFER_DEFAULT); | |
1255 | cxBufferPutString(&buf, "prep"); | |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1256 | CX_TEST_DO { |
1110 | 1257 | CxBufferFlushConfig flush; |
1258 | flush.threshold = 0; | |
1259 | flush.blksize = 32; | |
1260 | flush.blkmax = 1; | |
1261 | flush.target = ⌖ | |
1262 | flush.wfunc = (cx_write_func)mock_write_limited_rate; | |
1263 | CX_TEST_ASSERT(0 == cxBufferEnableFlushing(&buf, flush)); | |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1264 | size_t written = cxBufferWrite("foo", 1, 3, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1265 | CX_TEST_ASSERT(written == 3); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1266 | CX_TEST_ASSERT(buf.pos == 7); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1267 | CX_TEST_ASSERT(buf.size == 7); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1268 | CX_TEST_ASSERT(target.pos == 0); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1269 | CX_TEST_ASSERT(target.size == 0); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1270 | written = cxBufferWrite("hello, world!", 1, 13, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1271 | // " world!" fits into this buffer, the remaining stuff is flushed out |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1272 | CX_TEST_ASSERT(written == 13); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1273 | CX_TEST_ASSERT(buf.pos == 7); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1274 | CX_TEST_ASSERT(buf.size == 7); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1275 | CX_TEST_ASSERT(buf.capacity == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1276 | CX_TEST_ASSERT(0 == memcmp(buf.space, " world!", 7)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1277 | CX_TEST_ASSERT(target.pos == 13); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1278 | CX_TEST_ASSERT(target.size == 13); |
1110 | 1279 | CX_TEST_ASSERT(target.capacity >= 13); |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1280 | CX_TEST_ASSERT(0 == memcmp(target.space, "prepfoohello,", 13)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1281 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1282 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1283 | cxBufferDestroy(&target); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1284 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1285 | |
1129
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1286 | CX_TEST(test_buffer_write_flush_multibyte) { |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1287 | // this test case tests that flushing works correctly even when the |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1288 | // contents in the buffer are currently not aligned with the item size |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1289 | CxBuffer buf, target; |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1290 | cxBufferInit(&target, NULL, 8, cxDefaultAllocator, CX_BUFFER_AUTO_EXTEND); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1291 | cxBufferInit(&buf, NULL, 8, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1292 | memset(buf.space, 0, 8); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1293 | cxBufferPutString(&buf, "pre"); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1294 | CX_TEST_DO { |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1295 | CxBufferFlushConfig flush; |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1296 | flush.threshold = 0; |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1297 | flush.blksize = 4; // test blksize that is not aligned |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1298 | flush.blkmax = 2; // test with two blocks |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1299 | flush.target = ⌖ |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1300 | flush.wfunc = cxBufferWriteFunc; |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1301 | CX_TEST_ASSERT(0 == cxBufferEnableFlushing(&buf, flush)); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1302 | // first case: string fits after flush |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1303 | size_t written = cxBufferWrite("foobar", 3, 2, &buf); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1304 | CX_TEST_ASSERT(written == 2); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1305 | CX_TEST_ASSERT(buf.pos == 6); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1306 | CX_TEST_ASSERT(buf.size == 6); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1307 | CX_TEST_ASSERT(target.pos == 3); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1308 | CX_TEST_ASSERT(target.size == 3); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1309 | CX_TEST_ASSERT(0 == memcmp(buf.space, "foobar", 6)); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1310 | CX_TEST_ASSERT(0 == memcmp(target.space, "pre", 3)); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1311 | // second case: string does not fit, data is relayed, but only two blocks! |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1312 | written = cxBufferWrite("bazfooBAR", 3, 3, &buf); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1313 | CX_TEST_ASSERT(written == 3); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1314 | CX_TEST_ASSERT(buf.pos == 3); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1315 | CX_TEST_ASSERT(buf.size == 3); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1316 | CX_TEST_ASSERT(target.pos == 15); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1317 | CX_TEST_ASSERT(target.size == 15); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1318 | CX_TEST_ASSERT(0 == memcmp(buf.space, "BAR", 3)); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1319 | CX_TEST_ASSERT(0 == memcmp(target.space, "prefoobarbazfoo", 15)); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1320 | // third case: everything can be relayed, block size is large enough |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1321 | buf.flush->blkmax = 3; |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1322 | written = cxBufferWrite("abcdef012", 3, 3, &buf); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1323 | CX_TEST_ASSERT(written == 3); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1324 | CX_TEST_ASSERT(buf.pos == 0); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1325 | CX_TEST_ASSERT(buf.size == 0); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1326 | CX_TEST_ASSERT(target.pos == 27); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1327 | CX_TEST_ASSERT(target.size == 27); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1328 | CX_TEST_ASSERT(0 == memcmp(target.space, "prefoobarbazfooBARabcdef012", 27)); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1329 | } |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1330 | cxBufferDestroy(&buf); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1331 | cxBufferDestroy(&target); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1332 | } |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1333 | |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1334 | CX_TEST(test_buffer_write_flush_misaligned) { |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1335 | // this test case tests that flushing works correctly even when the |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1336 | // contents in the buffer are currently not aligned with the item size |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1337 | CxBuffer buf, target; |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1338 | cxBufferInit(&target, NULL, 8, cxDefaultAllocator, CX_BUFFER_AUTO_EXTEND); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1339 | cxBufferInit(&buf, NULL, 8, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1340 | cxBufferPutString(&buf, "prep"); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1341 | CX_TEST_DO { |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1342 | CxBufferFlushConfig flush; |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1343 | flush.threshold = 0; |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1344 | flush.blksize = 32; |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1345 | flush.blkmax = 1; |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1346 | flush.target = ⌖ |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1347 | flush.wfunc = cxBufferWriteFunc; |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1348 | CX_TEST_ASSERT(0 == cxBufferEnableFlushing(&buf, flush)); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1349 | // first case: string fits after flush |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1350 | size_t written = cxBufferWrite("foobar", 3, 2, &buf); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1351 | CX_TEST_ASSERT(written == 2); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1352 | CX_TEST_ASSERT(buf.pos == 7); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1353 | CX_TEST_ASSERT(buf.size == 7); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1354 | CX_TEST_ASSERT(target.pos == 3); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1355 | CX_TEST_ASSERT(target.size == 3); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1356 | CX_TEST_ASSERT(0 == memcmp(buf.space, "pfoobar", 7)); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1357 | CX_TEST_ASSERT(0 == memcmp(target.space, "pre", 3)); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1358 | // second case: string does not fit, relaying not possible due to misalignment |
1135
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1359 | // string will be truncated (two items fit into buffer, the third does not) |
1129
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1360 | written = cxBufferWrite("bazfoobar", 3, 3, &buf); |
1135
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1361 | CX_TEST_ASSERT(written == 2); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1362 | CX_TEST_ASSERT(buf.pos == 7); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1363 | CX_TEST_ASSERT(buf.size == 7); |
1129
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1364 | CX_TEST_ASSERT(target.pos == 9); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1365 | CX_TEST_ASSERT(target.size == 9); |
1135
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1366 | CX_TEST_ASSERT(0 == memcmp(buf.space, "rbazfoo", 7)); |
1129
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1367 | CX_TEST_ASSERT(0 == memcmp(target.space, "prepfooba", 9)); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1368 | } |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1369 | cxBufferDestroy(&buf); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1370 | cxBufferDestroy(&target); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1371 | } |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1372 | |
1135
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1373 | CX_TEST(test_buffer_write_flush_target_full) { |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1374 | CxBuffer buf, target; |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1375 | // target does NOT auto-extend and can get completely full |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1376 | cxBufferInit(&target, NULL, 8, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1377 | cxBufferInit(&buf, NULL, 8, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1378 | cxBufferPutString(&buf, "prep"); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1379 | CX_TEST_DO { |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1380 | CxBufferFlushConfig flush; |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1381 | flush.threshold = 0; |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1382 | flush.blksize = 32; |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1383 | flush.blkmax = 1; |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1384 | flush.target = ⌖ |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1385 | flush.wfunc = cxBufferWriteFunc; |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1386 | CX_TEST_ASSERT(0 == cxBufferEnableFlushing(&buf, flush)); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1387 | // step one - flush 4 existing bytes, write 6 new bytes |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1388 | size_t written = cxBufferWrite("foobar", 1, 6, &buf); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1389 | CX_TEST_ASSERT(written == 6); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1390 | CX_TEST_ASSERT(buf.pos == 6); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1391 | CX_TEST_ASSERT(buf.size == 6); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1392 | CX_TEST_ASSERT(target.pos == 4); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1393 | CX_TEST_ASSERT(target.size == 4); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1394 | CX_TEST_ASSERT(0 == memcmp(buf.space, "foobar", 6)); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1395 | CX_TEST_ASSERT(0 == memcmp(target.space, "prep", 4)); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1396 | // step two - can only flush 4 more bytes, but rest fits into buffer |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1397 | written = cxBufferWrite("xyz", 1, 3, &buf); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1398 | CX_TEST_ASSERT(written == 3); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1399 | CX_TEST_ASSERT(buf.pos == 5); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1400 | CX_TEST_ASSERT(buf.size == 5); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1401 | CX_TEST_ASSERT(target.pos == 8); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1402 | CX_TEST_ASSERT(target.size == 8); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1403 | CX_TEST_ASSERT(0 == memcmp(buf.space, "arxyz", 5)); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1404 | CX_TEST_ASSERT(0 == memcmp(target.space, "prepfoob", 8)); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1405 | // step three - cannot flush more, but can write 3 more bytes |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1406 | written = cxBufferWrite("123456", 1, 6, &buf); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1407 | CX_TEST_ASSERT(written == 3); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1408 | CX_TEST_ASSERT(buf.pos == 8); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1409 | CX_TEST_ASSERT(buf.size == 8); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1410 | CX_TEST_ASSERT(target.pos == 8); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1411 | CX_TEST_ASSERT(target.size == 8); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1412 | CX_TEST_ASSERT(0 == memcmp(buf.space, "arxyz123", 8)); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1413 | CX_TEST_ASSERT(0 == memcmp(target.space, "prepfoob", 8)); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1414 | // final test, cannot write anything more |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1415 | written = cxBufferWrite("baz", 1, 3, &buf); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1416 | CX_TEST_ASSERT(written == 0); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1417 | CX_TEST_ASSERT(buf.pos == 8); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1418 | CX_TEST_ASSERT(buf.size == 8); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1419 | CX_TEST_ASSERT(target.pos == 8); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1420 | CX_TEST_ASSERT(target.size == 8); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1421 | CX_TEST_ASSERT(0 == memcmp(buf.space, "arxyz123", 8)); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1422 | CX_TEST_ASSERT(0 == memcmp(target.space, "prepfoob", 8)); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1423 | } |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1424 | cxBufferDestroy(&buf); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1425 | cxBufferDestroy(&target); |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1426 | } |
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1427 | |
1110 | 1428 | CX_TEST(test_buffer_flush) { |
1429 | CxBuffer buf, target; | |
1430 | cxBufferInit(&target, NULL, 8, cxDefaultAllocator, CX_BUFFER_AUTO_EXTEND); | |
1431 | cxBufferInit(&buf, NULL, 8, cxDefaultAllocator, CX_BUFFER_DEFAULT); | |
1432 | cxBufferPutString(&buf, "prepare"); | |
1433 | CX_TEST_DO { | |
1434 | CxBufferFlushConfig flush; | |
1435 | flush.threshold = 0; | |
1436 | flush.blksize = 2; | |
1437 | flush.blkmax = 2; | |
1438 | flush.target = ⌖ | |
1112
22dc2163fffd
add convenience macros to avoid a fptr cast for cxBufferRead and cxBufferWrite
Mike Becker <universe@uap-core.de>
parents:
1110
diff
changeset
|
1439 | flush.wfunc = cxBufferWriteFunc; |
1110 | 1440 | CX_TEST_ASSERT(0 == cxBufferEnableFlushing(&buf, flush)); |
1441 | CX_TEST_ASSERT(buf.size == 7); | |
1442 | buf.pos = 5; | |
1443 | size_t flushed = cxBufferFlush(&buf); | |
1444 | CX_TEST_ASSERT(flushed == flush.blkmax * flush.blksize); | |
1445 | CX_TEST_ASSERT(buf.pos == 1); | |
1446 | CX_TEST_ASSERT(buf.size == 3); | |
1447 | CX_TEST_ASSERT(target.pos == 4); | |
1448 | CX_TEST_ASSERT(target.size == 4); | |
1449 | CX_TEST_ASSERT(0 == memcmp(buf.space, "are", 3)); | |
1450 | CX_TEST_ASSERT(0 == memcmp(target.space, "prep", 4)); | |
1451 | flushed = cxBufferFlush(&buf); | |
1452 | CX_TEST_ASSERT(flushed == 1); | |
1453 | CX_TEST_ASSERT(buf.pos == 0); | |
1454 | CX_TEST_ASSERT(buf.size == 2); | |
1455 | CX_TEST_ASSERT(target.pos == 5); | |
1456 | CX_TEST_ASSERT(target.size == 5); | |
1457 | CX_TEST_ASSERT(0 == memcmp(buf.space, "re", 2)); | |
1458 | CX_TEST_ASSERT(0 == memcmp(target.space, "prepa", 5)); | |
1459 | } | |
1460 | cxBufferDestroy(&buf); | |
1461 | cxBufferDestroy(&target); | |
1462 | } | |
1463 | ||
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1464 | CX_TEST(test_buffer_get) { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1465 | CxBuffer buf; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1466 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1467 | memcpy(buf.space, "some data\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1468 | buf.capacity = 12; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1469 | buf.size = 9; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1470 | buf.pos = 2; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1471 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1472 | CX_TEST_ASSERT(cxBufferGet(&buf) == 'm'); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1473 | CX_TEST_ASSERT(cxBufferGet(&buf) == 'e'); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1474 | CX_TEST_ASSERT(cxBufferGet(&buf) == ' '); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1475 | CX_TEST_ASSERT(cxBufferGet(&buf) == 'd'); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1476 | CX_TEST_ASSERT(buf.pos == 6); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1477 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1478 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1479 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1480 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1481 | CX_TEST(test_buffer_get_eof) { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1482 | CxBuffer buf; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1483 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1484 | memcpy(buf.space, "some data\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1485 | buf.capacity = 12; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1486 | buf.pos = buf.size = 9; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1487 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1488 | CX_TEST_ASSERT(cxBufferGet(&buf) == EOF); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1489 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1490 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1491 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1492 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1493 | CX_TEST(test_buffer_read) { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1494 | CxBuffer buf; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1495 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1496 | memcpy(buf.space, "some data\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1497 | buf.capacity = 12; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1498 | buf.size = 9; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1499 | buf.pos = 2; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1500 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1501 | char target[4]; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1502 | size_t read = cxBufferRead(&target, 1, 4, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1503 | CX_TEST_ASSERT(read == 4); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1504 | CX_TEST_ASSERT(0 == memcmp(&target, "me d", 4)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1505 | CX_TEST_ASSERT(buf.pos == 6); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1506 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1507 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1508 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1509 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1510 | CX_TEST(test_buffer_read_oob) { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1511 | CxBuffer buf; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1512 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1513 | memcpy(buf.space, "some data\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1514 | buf.capacity = 12; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1515 | buf.size = 9; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1516 | buf.pos = 6; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1517 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1518 | char target[4]; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1519 | size_t read = cxBufferRead(&target, 1, 4, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1520 | CX_TEST_ASSERT(read == 3); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1521 | CX_TEST_ASSERT(0 == memcmp(&target, "ata", 3)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1522 | CX_TEST_ASSERT(buf.pos == 9); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1523 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1524 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1525 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1526 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1527 | CX_TEST(test_buffer_read_oob_multibyte) { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1528 | CxBuffer buf; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1529 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1530 | memcpy(buf.space, "some data\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1531 | buf.capacity = 12; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1532 | buf.size = 9; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1533 | buf.pos = 6; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1534 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1535 | char target[4]; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1536 | target[2] = '\0'; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1537 | size_t read = cxBufferRead(&target, 2, 2, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1538 | CX_TEST_ASSERT(read == 1); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1539 | CX_TEST_ASSERT(0 == memcmp(&target, "at\0", 3)); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1540 | CX_TEST_ASSERT(buf.pos == 8); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1541 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1542 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1543 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1544 | |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1545 | CX_TEST(test_buffer_read_eof) { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1546 | CxBuffer buf; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1547 | cxBufferInit(&buf, NULL, 16, cxDefaultAllocator, CX_BUFFER_DEFAULT); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1548 | memcpy(buf.space, "some data\0\0\0\0\0\0\0", 16); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1549 | buf.capacity = 12; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1550 | buf.size = buf.pos = 9; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1551 | CX_TEST_DO { |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1552 | char target[4]; |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1553 | size_t read = cxBufferRead(&target, 1, 1, &buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1554 | CX_TEST_ASSERT(read == 0); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1555 | CX_TEST_ASSERT(buf.pos == 9); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1556 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1557 | cxBufferDestroy(&buf); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1558 | } |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1559 | |
789
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1560 | CxTestSuite *cx_test_suite_buffer(void) { |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1561 | CxTestSuite *suite = cx_test_suite_new("buffer"); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1562 | |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1563 | cx_test_register(suite, test_buffer_init_wrap_space); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1564 | cx_test_register(suite, test_buffer_init_wrap_space_auto_extend); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1565 | cx_test_register(suite, test_buffer_init_wrap_space_auto_free); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1566 | cx_test_register(suite, test_buffer_init_fresh_space); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1567 | cx_test_register(suite, test_buffer_init_on_heap); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1568 | cx_test_register(suite, test_buffer_minimum_capacity_sufficient); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1569 | cx_test_register(suite, test_buffer_minimum_capacity_extend); |
1290
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
1570 | cx_test_register(suite, test_buffer_shrink); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
1571 | cx_test_register(suite, test_buffer_shrink_copy_on_write); |
4ac889e14211
adds cxBufferShrink() - resolves #626
Mike Becker <universe@uap-core.de>
parents:
1284
diff
changeset
|
1572 | cx_test_register(suite, test_buffer_shrink_copy_on_extend); |
789
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1573 | cx_test_register(suite, test_buffer_clear); |
1024
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1574 | cx_test_register(suite, test_buffer_clear_copy_on_write); |
789
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1575 | cx_test_register(suite, test_buffer_reset); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1576 | cx_test_register(suite, test_buffer_seek_set_zero); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1577 | cx_test_register(suite, test_buffer_seek_set_valid); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1578 | cx_test_register(suite, test_buffer_seek_set_invalid); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1579 | cx_test_register(suite, test_buffer_seek_cur_zero); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1580 | cx_test_register(suite, test_buffer_seek_cur_valid_positive); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1581 | cx_test_register(suite, test_buffer_seek_cur_valid_negative); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1582 | cx_test_register(suite, test_buffer_seek_cur_invalid_positive); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1583 | cx_test_register(suite, test_buffer_seek_cur_invalid_negative); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1584 | cx_test_register(suite, test_buffer_seek_end_zero); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1585 | cx_test_register(suite, test_buffer_seek_end_valid); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1586 | cx_test_register(suite, test_buffer_seek_end_invalid); |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1587 | cx_test_register(suite, test_buffer_seek_whence_invalid); |
792
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
1588 | cx_test_register(suite, test_buffer_eof_reached); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
1589 | cx_test_register(suite, test_buffer_eof_not_reached); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
1590 | cx_test_register(suite, test_buffer_shift_left_zero); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
1591 | cx_test_register(suite, test_buffer_shift_left_zero_offset_interface); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
1592 | cx_test_register(suite, test_buffer_shift_left_standard); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
1593 | cx_test_register(suite, test_buffer_shift_left_overshift); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
1594 | cx_test_register(suite, test_buffer_shift_left_overshift_pos_only); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
1595 | cx_test_register(suite, test_buffer_shift_left_offset_interface); |
1024
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1596 | cx_test_register(suite, test_buffer_shift_left_copy_on_write); |
792
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
1597 | cx_test_register(suite, test_buffer_shift_right_zero); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
1598 | cx_test_register(suite, test_buffer_shift_right_zero_offset_interface); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
1599 | cx_test_register(suite, test_buffer_shift_right_standard); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
1600 | cx_test_register(suite, test_buffer_shift_right_overshift_discard); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
1601 | cx_test_register(suite, test_buffer_shift_right_overshift_extend); |
3ca984931e1d
migrate more buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
789
diff
changeset
|
1602 | cx_test_register(suite, test_buffer_shift_right_offset_interface); |
1024
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1603 | cx_test_register(suite, test_buffer_shift_right_copy_on_write); |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1604 | cx_test_register(suite, test_buffer_write_size_one_fit); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1605 | cx_test_register(suite, test_buffer_write_size_one_discard); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1606 | cx_test_register(suite, test_buffer_write_size_one_extend); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1607 | cx_test_register(suite, test_buffer_write_multibyte_fit); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1608 | cx_test_register(suite, test_buffer_write_multibyte_discard); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1609 | cx_test_register(suite, test_buffer_write_multibyte_extend); |
1024
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1610 | cx_test_register(suite, test_buffer_write_copy_on_write); |
1030
06091e067bee
add cxBufferAppend() - fixes #534
Mike Becker <universe@uap-core.de>
parents:
1028
diff
changeset
|
1611 | cx_test_register(suite, test_buffer_append); |
1131
644f77f903b1
fix cxBufferAppend() not adjusting position after flush
Mike Becker <universe@uap-core.de>
parents:
1129
diff
changeset
|
1612 | cx_test_register(suite, test_buffer_append_flush); |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1613 | cx_test_register(suite, test_buffer_put_fit); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1614 | cx_test_register(suite, test_buffer_put_discard); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1615 | cx_test_register(suite, test_buffer_put_extend); |
1024
8f99f6c28bd3
add copy-on-write feature to UCX buffer - fixes #531
Mike Becker <universe@uap-core.de>
parents:
1007
diff
changeset
|
1616 | cx_test_register(suite, test_buffer_put_copy_on_write); |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1617 | cx_test_register(suite, test_buffer_put_string_fit); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1618 | cx_test_register(suite, test_buffer_put_string_discard); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1619 | cx_test_register(suite, test_buffer_put_string_extend); |
1028
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1620 | cx_test_register(suite, test_buffer_put_string_copy_on_extend); |
3e4905241838
add copy-on-extend feature to UCX buffer - fixes #533
Mike Becker <universe@uap-core.de>
parents:
1026
diff
changeset
|
1621 | cx_test_register(suite, test_buffer_put_string_copy_on_write); |
1006
8ee818fa29f7
fix stupid initialization of target buffer in tests where no flush target is used
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
1622 | cx_test_register(suite, test_buffer_terminate); |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1623 | cx_test_register(suite, test_buffer_write_size_overflow); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1624 | cx_test_register(suite, test_buffer_write_capacity_overflow); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1625 | cx_test_register(suite, test_buffer_write_only_overwrite); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1626 | cx_test_register(suite, test_buffer_write_flush_at_capacity); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1627 | cx_test_register(suite, test_buffer_write_flush_at_threshold); |
1110 | 1628 | cx_test_register(suite, test_buffer_write_flush_rate_limited_and_buffer_too_small); |
1129
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1629 | cx_test_register(suite, test_buffer_write_flush_multibyte); |
cc60b7d07912
fix #566 by changing the spec (pro-move 8)
Mike Becker <universe@uap-core.de>
parents:
1112
diff
changeset
|
1630 | cx_test_register(suite, test_buffer_write_flush_misaligned); |
1135
f79415d974d3
add test case for flushing when target is full and fixes a bug related to that
Mike Becker <universe@uap-core.de>
parents:
1131
diff
changeset
|
1631 | cx_test_register(suite, test_buffer_write_flush_target_full); |
1110 | 1632 | cx_test_register(suite, test_buffer_flush); |
793
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1633 | cx_test_register(suite, test_buffer_get); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1634 | cx_test_register(suite, test_buffer_get_eof); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1635 | cx_test_register(suite, test_buffer_read); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1636 | cx_test_register(suite, test_buffer_read_oob); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1637 | cx_test_register(suite, test_buffer_read_oob_multibyte); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1638 | cx_test_register(suite, test_buffer_read_eof); |
db1c8dfe403a
migrate remaining buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
792
diff
changeset
|
1639 | |
789
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1640 | return suite; |
9b2f5661bebd
begin migration of buffer tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1641 | } |