1 (* libguestfs OCaml bindings
2 * Copyright (C) 2009 Red Hat Inc.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 let g = Guestfs.create () in
24 let fd = openfile "test.img" [O_WRONLY;O_CREAT;O_NOCTTY;O_TRUNC] 0o666 in
25 ftruncate fd (10 * 1024 * 1024);
28 Guestfs.add_drive g "test.img";
31 Guestfs.part_disk g "/dev/sda" "mbr";
32 Guestfs.mkfs g "ext2" "/dev/sda1";
33 Guestfs.mount g "/dev/sda1" "/";
37 let dirs = Guestfs.readdir g "/" in
38 let dirs = Array.to_list dirs in
39 let cmp { Guestfs.name = n1 } { Guestfs.name = n2 } = compare n1 n2 in
40 let dirs = List.sort cmp dirs in
42 fun { Guestfs.name = name; Guestfs.ftyp = ftyp } -> (name, ftyp)
45 if dirs <> [ ".", 'd';
50 failwith "Guestfs.readdir returned incorrect result";