1.1 --- a/test/memstream_tests.c Wed Oct 10 09:34:13 2012 +0200 1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1.3 @@ -1,186 +0,0 @@ 1.4 -/* 1.5 - * 1.6 - */ 1.7 - 1.8 -#include "memstream_tests.h" 1.9 - 1.10 -UCX_TEST_IMPLEMENT(test_ucx_memseektell) { 1.11 - char *buffer = malloc(16); 1.12 - memset(buffer, 32, 7); 1.13 - buffer[7] = 0; 1.14 - 1.15 - UcxMemstream *m = ucx_memopen(buffer, 16); 1.16 - int r; 1.17 - 1.18 - UCX_TEST_BEGIN 1.19 - 1.20 - r = ucx_memseek(m, 5, SEEK_SET); 1.21 - UCX_TEST_ASSERT(r == 0, "seek SET+5 failed"); 1.22 - UCX_TEST_ASSERT(ucx_memtell(m) == 5, "seek SET+5 set wrong position"); 1.23 - 1.24 - r = ucx_memseek(m, 20, SEEK_SET); 1.25 - UCX_TEST_ASSERT(r != 0, "seek beyond bounds shall fail"); 1.26 - UCX_TEST_ASSERT(ucx_memtell(m) == 5, 1.27 - "failed seek shall leave pos unchanged"); 1.28 - 1.29 - r = ucx_memseek(m, 5, SEEK_CUR); 1.30 - UCX_TEST_ASSERT(r == 0, "seek CUR+5 failed"); 1.31 - UCX_TEST_ASSERT(ucx_memtell(m) == 10, "seek CUR+5 set wrong position"); 1.32 - 1.33 - r = ucx_memseek(m, 10, SEEK_CUR); 1.34 - UCX_TEST_ASSERT(r != 0, "seek CUR beyond bounds shall fail"); 1.35 - UCX_TEST_ASSERT(ucx_memtell(m) == 10, 1.36 - "failed seek shall leave pos unchanged"); 1.37 - 1.38 - r = ucx_memseek(m, -5, SEEK_END); 1.39 - UCX_TEST_ASSERT(r == 0, "seek END-5 failed"); 1.40 - UCX_TEST_ASSERT(ucx_memtell(m) == 2, "seek END-5 set wrong position"); 1.41 - 1.42 - r = ucx_memseek(m, -10, SEEK_END); 1.43 - UCX_TEST_ASSERT(r != 0, "seek END beyond bounds shall fail"); 1.44 - UCX_TEST_ASSERT(ucx_memtell(m) == 2, 1.45 - "failed seek shall leave pos unchanged"); 1.46 - 1.47 - UCX_TEST_END 1.48 - 1.49 - ucx_memclose(m); 1.50 - free(buffer); 1.51 -} 1.52 - 1.53 -UCX_TEST_IMPLEMENT(test_ucx_memputc) { 1.54 - char *buffer = malloc(16); 1.55 - memset(buffer, 32, 16); 1.56 - 1.57 - UcxMemstream *m = ucx_memopen(buffer, 16); 1.58 - int r; 1.59 - 1.60 - UCX_TEST_BEGIN 1.61 - 1.62 - ucx_memputc(m, 48); ucx_memputc(m, 48); ucx_memputc(m, 48); 1.63 - UCX_TEST_ASSERT(ucx_memtell(m) == 3, "pos wrong after first 3 puts"); 1.64 - ucx_memseek(m, 10, SEEK_CUR); 1.65 - ucx_memputc(m, 48); ucx_memputc(m, 48); ucx_memputc(m, 48); 1.66 - UCX_TEST_ASSERT(ucx_memtell(m) == 16, "pos wrong after last 3 puts"); 1.67 - UCX_TEST_ASSERT(ucx_memeof(m), "eof not set"); 1.68 - UCX_TEST_ASSERT(ucx_memputc(m, 48) == EOF, "put shall return EOF on memof"); 1.69 - UCX_TEST_ASSERT(memcmp(buffer, "000 000", 16) == 0, 1.70 - "buffer contains incorrect content"); 1.71 - 1.72 - UCX_TEST_END 1.73 - 1.74 - ucx_memclose(m); 1.75 - free(buffer); 1.76 -} 1.77 - 1.78 -UCX_TEST_IMPLEMENT(test_ucx_memgetc) { 1.79 - char *buffer = malloc(16); 1.80 - memset(buffer, 32, 8); 1.81 - for (int i = 8; i < 16 ; i++) { 1.82 - buffer[i] = 40+i; 1.83 - } 1.84 - 1.85 - UcxMemstream *m = ucx_memopen(buffer, 16); 1.86 - int r; 1.87 - 1.88 - UCX_TEST_BEGIN 1.89 - 1.90 - char rb[16]; 1.91 - for (int i = 0 ; i < 16 ; i++) { 1.92 - UCX_TEST_ASSERT(ucx_memtell(m) == i, "pos wrong during read loop"); 1.93 - UCX_TEST_ASSERT(!ucx_memeof(m), 1.94 - "EOF shall not be set during read loop"); 1.95 - rb[i] = ucx_memgetc(m); 1.96 - } 1.97 - UCX_TEST_ASSERT(ucx_memtell(m) == 16, "pos wrong after read loop"); 1.98 - UCX_TEST_ASSERT(ucx_memeof(m), "EOF not set"); 1.99 - UCX_TEST_ASSERT(memcmp(rb, " 01234567", 16) == 0, 1.100 - "read data incorrect"); 1.101 - 1.102 - UCX_TEST_END 1.103 - 1.104 - ucx_memclose(m); 1.105 - free(buffer); 1.106 -} 1.107 - 1.108 -UCX_TEST_IMPLEMENT(test_ucx_memwrite) { 1.109 - char *buffer = malloc(16); 1.110 - memset(buffer, 32, 8); 1.111 - for (int i = 8; i < 16 ; i++) { 1.112 - buffer[i] = 40+i; 1.113 - } 1.114 - 1.115 - UcxMemstream *m = ucx_memopen(buffer, 16); 1.116 - int r; 1.117 - 1.118 - UCX_TEST_BEGIN 1.119 - 1.120 - char* teststring = "this is way too much"; 1.121 - r = ucx_memwrite(teststring, 1, 20, m); 1.122 - UCX_TEST_ASSERT(r == 16, "string not correctly trimed"); 1.123 - UCX_TEST_ASSERT(memcmp(buffer, teststring, 16) == 0, 1.124 - "buffer data incorrect"); 1.125 - UCX_TEST_ASSERT(ucx_memeof(m), "eof shall be set"); 1.126 - 1.127 - ucx_memseek(m, 8, SEEK_SET); 1.128 - r = ucx_memwrite("not", 1, 3, m); 1.129 - UCX_TEST_ASSERT(r == 3, "three bytes should be replace"); 1.130 - UCX_TEST_ASSERT(memcmp(buffer, "this is not too much", 16) == 0, 1.131 - "modified buffer is incorrect"); 1.132 - 1.133 - char* threebytestring = " t h r e e "; 1.134 - memset(buffer, 49, 16); 1.135 - ucx_memseek(m, 0, SEEK_SET); 1.136 - r = ucx_memwrite(threebytestring, 3, 6, m); 1.137 - UCX_TEST_ASSERT(r == 15, "three byte string not correctly trimed"); 1.138 - UCX_TEST_ASSERT(ucx_memtell(m) == 15, 1.139 - "position after write of three byte string incorrect"); 1.140 - UCX_TEST_ASSERT(!ucx_memeof(m), "eof shall not be set"); 1.141 - UCX_TEST_ASSERT(memcmp(buffer, " t h r e e1", 16) == 0, 1.142 - "bufer is incorrect after three byte string has been written"); 1.143 - 1.144 - UCX_TEST_END 1.145 - 1.146 - ucx_memclose(m); 1.147 - free(buffer); 1.148 -} 1.149 - 1.150 -UCX_TEST_IMPLEMENT(test_ucx_memread) { 1.151 - char *buffer = malloc(16); 1.152 - memset(buffer, 56, 8); 1.153 - for (int i = 8; i < 16 ; i++) { 1.154 - buffer[i] = 40+i; 1.155 - } 1.156 - 1.157 - UcxMemstream *m = ucx_memopen(buffer, 16); 1.158 - int r; 1.159 - 1.160 - UCX_TEST_BEGIN 1.161 - 1.162 - char rb[16]; 1.163 - memset(rb, 32, 16); 1.164 - 1.165 - ucx_memseek(m, 8, SEEK_SET); 1.166 - r = ucx_memread(rb, 1, 16, m); 1.167 - UCX_TEST_ASSERT(r == 8, "read did not stop at buffer end"); 1.168 - UCX_TEST_ASSERT(memcmp(rb, "01234567 ", 16) == 0, 1.169 - "buffer incorrect after first read"); 1.170 - UCX_TEST_ASSERT(ucx_memeof(m), "eof shall be set"); 1.171 - 1.172 - ucx_memseek(m, 0, SEEK_SET); 1.173 - r = ucx_memread(rb+8, 1, 8, m); 1.174 - UCX_TEST_ASSERT(r == 8, "read did not read the specified amount of bytes"); 1.175 - UCX_TEST_ASSERT(memcmp(rb, "0123456788888888", 16) == 0, 1.176 - "buffer incorrect after second read"); 1.177 - 1.178 - ucx_memseek(m, 0, SEEK_SET); 1.179 - r = ucx_memread(rb, 3, 6, m); 1.180 - UCX_TEST_ASSERT(r == 15, 1.181 - "three byte read did not read the desired amount of bytes"); 1.182 - UCX_TEST_ASSERT(memcmp(rb, "8888888801234568", 16) == 0, 1.183 - "buffer incorrect after three byte read"); 1.184 - 1.185 - UCX_TEST_END 1.186 - 1.187 - ucx_memclose(m); 1.188 - free(buffer); 1.189 -}