teststream.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00023 #include <string.h>
00024
00025 #include <iostream>
00026 #include <cstdlib>
00027
00028 #include "stream.h"
00029 #include "file.h"
00030 #include "streamclone.h"
00031
00032 using namespace OpenRaw;
00033
00034 int main (int , char ** )
00035 {
00036 IO::File *file = new IO::File("testfile.tmp");
00037 char buf1[128];
00038 int ret = file->open();
00039 if (ret != 0) {
00040 std::cerr << "failed: " __FILE__ ": " << __LINE__ << std::endl;
00041 std::cerr << "Couldn't open test file. Test skipped.\n";
00042 exit(0);
00043 }
00044
00045 size_t r = file->read(buf1, 6);
00046 if (r != 6) {
00047 std::cerr << "failed: " __FILE__ ": " << __LINE__ << std::endl;
00048 exit(1);
00049 }
00050
00051 IO::StreamClone * clone = new IO::StreamClone(file, 2);
00052
00053 ret = clone->open();
00054 if (ret != 0) {
00055 std::cerr << "failed: " __FILE__ ": " << __LINE__ << std::endl;
00056 exit(1);
00057 }
00058 char buf2[128];
00059 r = file->read(buf2, 4);
00060 if (r != 4) {
00061 std::cerr << "failed: " __FILE__ ": " << __LINE__ << std::endl;
00062 exit(1);
00063 }
00064
00065 if (strncmp(buf1 + 2, buf2, 4) != 0) {
00066 std::cerr << "failed: " __FILE__ ": " << __LINE__ << std::endl;
00067 exit(1);
00068 }
00069 clone->close();
00070
00071 file->close();
00072 }