1f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#ifdef _MSC_VER 2f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#include <io.h> 3f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#else 4f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#include <unistd.h> 5f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#endif // _MSC_VER 6f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 7f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#include <sys/types.h> 8f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#include <sys/stat.h> 9f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#include <fcntl.h> 10f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 11f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#include <fstream> 12f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 13f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#include <marisa/io.h> 14f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 15f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#include "assert.h" 16f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 17f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamathnamespace { 18f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 19f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamathvoid TestFilename() { 20f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath TEST_START(); 21f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 22f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath { 23f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::Writer writer; 24f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath writer.open("io-test.dat"); 25f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::UInt32 value = 123; 26f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath writer.write(value); 27f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath writer.write(value); 28f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath double values[] = { 345, 456 }; 29f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath writer.write(values, 2); 30f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath EXCEPT(writer.write(values, 1U << 30), MARISA_SIZE_ERROR); 31f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath } 32f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 33f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath { 34f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::Writer writer; 35f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath writer.open("io-test.dat", false, 4, SEEK_SET); 36f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::UInt32 value = 234; 37f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath writer.write(value); 38f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath } 39f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 40f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath { 41f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::Writer writer; 42f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath writer.open("io-test.dat", false, 0, SEEK_END); 43f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath double value = 567; 44f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath writer.write(value); 45f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath } 46f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 47f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath { 48f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::Reader reader; 49f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath reader.open("io-test.dat"); 50f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::UInt32 value; 51f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath reader.read(&value); 52f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(value == 123); 53f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath reader.read(&value); 54f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(value == 234); 55f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath double values[3]; 56f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath reader.read(values, 3); 57f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(values[0] == 345); 58f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(values[1] == 456); 59f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(values[2] == 567); 60f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath char byte; 61f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath EXCEPT(reader.read(&byte), MARISA_IO_ERROR); 62f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath } 63f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 64f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath { 65f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::Mapper mapper; 66f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath mapper.open("io-test.dat"); 67f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::UInt32 value; 68f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath mapper.map(&value); 69f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(value == 123); 70f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath mapper.map(&value); 71f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(value == 234); 72f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath const double *values; 73f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath mapper.map(&values, 3); 74f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(values[0] == 345); 75f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(values[1] == 456); 76f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(values[2] == 567); 77f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath char byte; 78f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath EXCEPT(mapper.map(&byte), MARISA_IO_ERROR); 79f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath } 80f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 81f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath { 82f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::Writer writer; 83f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath writer.open("io-test.dat"); 84f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath } 85f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 86f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath { 87f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::Reader reader; 88f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath reader.open("io-test.dat"); 89f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath char byte; 90f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath EXCEPT(reader.read(&byte), MARISA_IO_ERROR); 91f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath } 92f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 93f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath TEST_END(); 94f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath} 95f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 96f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamathvoid TestFd() { 97f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath TEST_START(); 98f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 99f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath { 100f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#ifdef _MSC_VER 101f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath int fd = -1; 102f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(::_sopen_s(&fd, "io-test.dat", 103f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath _O_BINARY | _O_CREAT | _O_WRONLY | _O_TRUNC, 104f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath _SH_DENYRW, _S_IREAD | _S_IWRITE) == 0); 105f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#else // _MSC_VER 106f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath int fd = ::creat("io-test.dat", 0644); 107f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(fd != -1); 108f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#endif // _MSC_VER 109f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::Writer writer(fd); 110f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::UInt32 value = 345; 111f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath writer.write(value); 112f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath double values[] = { 456, 567, 678 }; 113f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath writer.write(values, 3); 114f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#ifdef _MSC_VER 115f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(::_close(fd) == 0); 116f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#else // _MSC_VER 117f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(::close(fd) == 0); 118f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#endif // _MSC_VER 119f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath } 120f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 121f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath { 122f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#ifdef _MSC_VER 123f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath int fd = -1; 124f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(::_sopen_s(&fd, "io-test.dat", _O_BINARY | _O_RDONLY, 125f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath _SH_DENYRW, _S_IREAD) == 0); 126f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#else // _MSC_VER 127f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath int fd = ::open("io-test.dat", O_RDONLY); 128f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(fd != -1); 129f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#endif // _MSC_VER 130f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::Reader reader(fd); 131f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::UInt32 value; 132f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath reader.read(&value); 133f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(value == 345); 134f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath double values[3]; 135f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath reader.read(values, 3); 136f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(values[0] == 456); 137f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(values[1] == 567); 138f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(values[2] == 678); 139f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath char byte; 140f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath EXCEPT(reader.read(&byte), MARISA_IO_ERROR); 141f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#ifdef _MSC_VER 142f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(::_close(fd) == 0); 143f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#else // _MSC_VER 144f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(::close(fd) == 0); 145f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#endif // _MSC_VER 146f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath } 147f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 148f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath TEST_END(); 149f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath} 150f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 151f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamathvoid TestFile() { 152f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath TEST_START(); 153f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 154f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath { 155f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#ifdef _MSC_VER 156f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath FILE *file = NULL; 157f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(::fopen_s(&file, "io-test.dat", "wb") == 0); 158f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#else // _MSC_VER 159f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath FILE *file = std::fopen("io-test.dat", "wb"); 160f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(file != NULL); 161f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#endif // _MSC_VER 162f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::Writer writer(file); 163f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::UInt32 value = 345; 164f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath writer.write(value); 165f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath double values[3] = { 456, 567, 678 }; 166f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath writer.write(values, 3); 167f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(std::fclose(file) == 0); 168f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath } 169f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 170f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath { 171f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#ifdef _MSC_VER 172f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath FILE *file = NULL; 173f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(::fopen_s(&file, "io-test.dat", "rb") == 0); 174f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#else // _MSC_VER 175f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath FILE *file = std::fopen("io-test.dat", "rb"); 176f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(file != NULL); 177f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#endif // _MSC_VER 178f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::Reader reader(file); 179f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::UInt32 value; 180f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath reader.read(&value); 181f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(value == 345); 182f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath double values[3]; 183f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath reader.read(values, 3); 184f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(values[0] == 456); 185f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(values[1] == 567); 186f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(values[2] == 678); 187f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath char byte; 188f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath EXCEPT(reader.read(&byte), MARISA_IO_ERROR); 189f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(std::fclose(file) == 0); 190f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath } 191f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 192f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath TEST_END(); 193f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath} 194f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 195f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamathvoid TestStream() { 196f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath TEST_START(); 197f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 198f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath { 199f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath std::ofstream file("io-test.dat", std::ios::binary); 200f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(file.is_open()); 201f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::Writer writer(&file); 202f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::UInt32 value = 345; 203f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath writer.write(value); 204f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath double values[3] = { 456, 567, 678 }; 205f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath writer.write(values, 3); 206f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath } 207f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 208f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath { 209f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath std::ifstream file("io-test.dat", std::ios::binary); 210f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(file.is_open()); 211f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::Reader reader(&file); 212f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath marisa::UInt32 value; 213f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath reader.read(&value); 214f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(value == 345); 215f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath double values[3]; 216f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath reader.read(values, 3); 217f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(values[0] == 456); 218f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(values[1] == 567); 219f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath ASSERT(values[2] == 678); 220f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath char byte; 221f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath EXCEPT(reader.read(&byte), MARISA_IO_ERROR); 222f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath } 223f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 224f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath TEST_END(); 225f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath} 226f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 227f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath} // namespace 228f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 229f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamathint main() { 230f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath TestFilename(); 231f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath TestFd(); 232f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath TestFile(); 233f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath TestStream(); 234f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath 235f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath return 0; 236f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath} 237