Lib.pm: Add file_architecture command.
[libguestfs.git] / perl / t / 510-lib-file-arch.t
diff --git a/perl/t/510-lib-file-arch.t b/perl/t/510-lib-file-arch.t
new file mode 100644 (file)
index 0000000..14392e8
--- /dev/null
@@ -0,0 +1,62 @@
+# 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 => 17;
+
+use Sys::Guestfs;
+use Sys::Guestfs::Lib;
+
+my $h = Sys::Guestfs->new ();
+ok ($h);
+
+$h->add_drive_ro ("../images/test.sqsh");
+ok (1);
+
+$h->launch ();
+ok (1);
+$h->wait_ready ();
+ok (1);
+
+$h->mount_vfs ("ro", "squashfs", "/dev/sda", "/");
+ok (1);
+
+is (Sys::Guestfs::Lib::file_architecture ($h, "/bin-i586-dynamic"),
+    "i386");
+is (Sys::Guestfs::Lib::file_architecture ($h, "/bin-sparc-dynamic"),
+    "sparc");
+is (Sys::Guestfs::Lib::file_architecture ($h, "/bin-win32.exe"),
+    "i386");
+is (Sys::Guestfs::Lib::file_architecture ($h, "/bin-win64.exe"),
+    "x86_64");
+is (Sys::Guestfs::Lib::file_architecture ($h, "/bin-x86_64-dynamic"),
+    "x86_64");
+is (Sys::Guestfs::Lib::file_architecture ($h, "/lib-i586.so"),
+    "i386");
+is (Sys::Guestfs::Lib::file_architecture ($h, "/lib-sparc.so"),
+    "sparc");
+is (Sys::Guestfs::Lib::file_architecture ($h, "/lib-win32.dll"),
+    "i386");
+is (Sys::Guestfs::Lib::file_architecture ($h, "/lib-win64.dll"),
+    "x86_64");
+is (Sys::Guestfs::Lib::file_architecture ($h, "/lib-x86_64.so"),
+    "x86_64");
+is (Sys::Guestfs::Lib::file_architecture ($h, "/initrd-x86_64.img"),
+    "x86_64");
+is (Sys::Guestfs::Lib::file_architecture ($h, "/initrd-x86_64.img.gz"),
+    "x86_64");