00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <wibble/sys/mmap.h>
00022 #include <wibble/test.h>
00023 #include <string.h>
00024
00025 using namespace std;
00026 using namespace wibble::sys;
00027
00028 struct TestMMap {
00029 Test simple() {
00030 MMap map;
00031 assert_eq(map.filename, string());
00032 assert_eq(map.fd, -1);
00033 assert_eq(map.size, 0u);
00034 assert_eq(map.buf, (const char*)0);
00035
00036 map.map("/bin/ls");
00037 assert_eq(map.filename, "/bin/ls");
00038 assert(map.fd != -1);
00039 assert(map.size != 0u);
00040 assert(map.buf != (const char*)0);
00041 assert_eq(map.buf[1], 'E');
00042 assert_eq(map.buf[2], 'L');
00043 assert_eq(map.buf[3], 'F');
00044
00045 MMap map1 = map;
00046 assert_eq(map.filename, string());
00047 assert_eq(map.fd, -1);
00048 assert_eq(map.size, 0u);
00049 assert_eq(map.buf, (const char*)0);
00050
00051 assert_eq(map1.filename, "/bin/ls");
00052 assert(map1.fd != -1);
00053 assert(map1.size != 0u);
00054 assert(map1.buf != (const char*)0);
00055 assert_eq(map1.buf[1], 'E');
00056 assert_eq(map1.buf[2], 'L');
00057 assert_eq(map1.buf[3], 'F');
00058
00059 map1.unmap();
00060 assert_eq(map1.filename, string());
00061 assert_eq(map1.fd, -1);
00062 assert_eq(map1.size, 0u);
00063 assert_eq(map1.buf, (const char*)0);
00064 }
00065 };
00066
00067