wibble
1.1
wibble
sys
mmap.test.h
Go to the documentation of this file.
1
/*
2
* Simple mmap support
3
*
4
* Copyright (C) 2006--2008 Enrico Zini <enrico@debian.org>
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
*/
20
#include <
wibble/sys/mmap.h
>
21
22
#include <
wibble/test.h
>
23
#include <
string.h
>
24
25
using namespace
std;
26
using namespace
wibble::sys
;
27
28
struct
TestMMap
{
29
Test
simple
() {
30
#ifdef POSIX
31
MMap
map;
32
assert_eq
(map.filename,
string
());
33
assert_eq
(map.fd, -1);
34
assert_eq
(map.size, 0
u
);
35
assert_eq
(map.buf,
static_cast<
const
char
*
>
(0));
36
37
map.map(
"/bin/sh"
);
38
assert_eq
(map.filename,
"/bin/sh"
);
39
assert
(map.fd != -1);
40
assert
(map.size != 0
u
);
41
assert
(map.buf !=
static_cast<
const
char
*
>
(0));
42
assert_eq
(map.buf[1],
'E'
);
43
assert_eq
(map.buf[2],
'L'
);
44
assert_eq
(map.buf[3],
'F'
);
45
46
MMap
map1
= map;
47
assert_eq
(map.filename,
string
());
48
assert_eq
(map.fd, -1);
49
assert_eq
(map.size, 0
u
);
50
assert_eq
(map.buf,
static_cast<
const
char
*
>
(0));
51
52
assert_eq
(
map1
.filename,
"/bin/sh"
);
53
assert
(
map1
.fd != -1);
54
assert
(
map1
.size != 0
u
);
55
assert
(
map1
.buf !=
static_cast<
const
char
*
>
(0));
56
assert_eq
(
map1
.buf[1],
'E'
);
57
assert_eq
(
map1
.buf[2],
'L'
);
58
assert_eq
(
map1
.buf[3],
'F'
);
59
60
map1
.unmap();
61
assert_eq
(
map1
.filename,
string
());
62
assert_eq
(
map1
.fd, -1);
63
assert_eq
(
map1
.size, 0
u
);
64
assert_eq
(
map1
.buf,
static_cast<
const
char
*
>
(0));
65
#endif
66
}
67
};
68
// vim:set ts=4 sw=4:
mmap.h
Simple mmap support.
wibble::sys
Definition
buffer.cpp:28
string.h
TestMMap
Definition
mmap.test.h:28
TestMMap::simple
Test simple()
Definition
mmap.test.h:29
wibble::SanitizeReturn
Definition
amorph.h:30
wibble::sys::MMap
Map a file into memory.
Definition
mmap.h:45
test.h
assert_eq
#define assert_eq(x, y)
Definition
test.h:33
assert
#define assert(x)
Definition
test.h:30
Generated by
1.9.8