From 5186251f8f681f2ebb028423bb49a748861fd11e Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 1 Jul 2009 20:56:58 +0100 Subject: Add 'readdir' call. This adds a readdir call (mostly intended for programs). The return value is a list of guestfs_dirent structures. This adds the new types 'struct guestfs_dirent' and 'struct guestfs_dirent_list', along with all the code to return these in the different language bindings. Also includes additional tests for OCaml and Perl bindings to test this. --- perl/t/060-readdir.t | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 perl/t/060-readdir.t (limited to 'perl/t') diff --git a/perl/t/060-readdir.t b/perl/t/060-readdir.t new file mode 100644 index 00000000..17dfd24b --- /dev/null +++ b/perl/t/060-readdir.t @@ -0,0 +1,63 @@ +# libguestfs Perl bindings -*- perl -*- +# Copyright (C) 2009 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +use strict; +use warnings; +use Test::More tests => 13; + +use Sys::Guestfs; + +my $h = Sys::Guestfs->new (); +ok ($h); +open FILE, ">test.img"; +truncate FILE, 10*1024*1024; +close FILE; +ok (1); + +$h->add_drive ("test.img"); +ok (1); + +$h->launch (); +ok (1); +$h->wait_ready (); +ok (1); + +$h->sfdisk ("/dev/sda", 0, 0, 0, [","]); +ok (1); +$h->mkfs ("ext2", "/dev/sda1"); +ok (1); +$h->mount ("/dev/sda1", "/"); +ok (1); +$h->mkdir ("/p"); +ok (1); +$h->touch ("/q"); +ok (1); + +my @dirs = $h->readdir ("/"); +@dirs = sort { $a->{name} cmp $b->{name} } @dirs; +foreach (@dirs) { + print "$_->{name} $_->{ino} $_->{ftyp}\n"; +} +ok (1); + +$h->sync (); +ok (1); + +undef $h; +ok (1); + +unlink ("test.img"); -- cgit