mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
ocaml: Combine tests together to reduce number of launches.
Combine launch, lvcreate and readdir tests together into a single 'basic' test, so that we don't launch the appliance so often when testing in this subdirectory.
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -216,9 +216,7 @@ ocaml/guestfs.ml
|
||||
ocaml/guestfs.mli
|
||||
ocaml/META
|
||||
ocaml/t/guestfs_005_load
|
||||
ocaml/t/guestfs_010_launch
|
||||
ocaml/t/guestfs_050_lvcreate
|
||||
ocaml/t/guestfs_060_readdir
|
||||
ocaml/t/guestfs_010_basic
|
||||
ocaml/t/guestfs_070_threads
|
||||
ocaml/t/guestfs_080_optargs
|
||||
ocaml/t/guestfs_400_progress
|
||||
|
||||
@@ -62,13 +62,15 @@ TESTS_ENVIRONMENT = \
|
||||
$(VG)
|
||||
|
||||
TESTS = run-bindtests \
|
||||
t/guestfs_005_load t/guestfs_010_launch t/guestfs_050_lvcreate \
|
||||
t/guestfs_060_readdir t/guestfs_070_threads \
|
||||
t/guestfs_005_load \
|
||||
t/guestfs_010_basic \
|
||||
t/guestfs_070_threads \
|
||||
t/guestfs_080_optargs \
|
||||
t/guestfs_400_progress
|
||||
noinst_DATA += bindtests \
|
||||
t/guestfs_005_load t/guestfs_010_launch t/guestfs_050_lvcreate \
|
||||
t/guestfs_060_readdir t/guestfs_070_threads \
|
||||
t/guestfs_005_load \
|
||||
t/guestfs_010_basic \
|
||||
t/guestfs_070_threads \
|
||||
t/guestfs_080_optargs \
|
||||
t/guestfs_400_progress
|
||||
|
||||
@@ -80,15 +82,7 @@ t/guestfs_005_load: t/guestfs_005_load.cmx mlguestfs.cmxa
|
||||
mkdir -p t
|
||||
$(OCAMLFIND) ocamlopt -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cmxa $< -o $@
|
||||
|
||||
t/guestfs_010_launch: t/guestfs_010_launch.cmx mlguestfs.cmxa
|
||||
mkdir -p t
|
||||
$(OCAMLFIND) ocamlopt -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cmxa $< -o $@
|
||||
|
||||
t/guestfs_050_lvcreate: t/guestfs_050_lvcreate.cmx mlguestfs.cmxa
|
||||
mkdir -p t
|
||||
$(OCAMLFIND) ocamlopt -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cmxa $< -o $@
|
||||
|
||||
t/guestfs_060_readdir: t/guestfs_060_readdir.cmx mlguestfs.cmxa
|
||||
t/guestfs_010_basic: t/guestfs_010_basic.cmx mlguestfs.cmxa
|
||||
mkdir -p t
|
||||
$(OCAMLFIND) ocamlopt -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cmxa $< -o $@
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
(* libguestfs OCaml bindings
|
||||
* Copyright (C) 2009 Red Hat Inc.
|
||||
* Copyright (C) 2009-2010 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
|
||||
@@ -16,25 +16,37 @@
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*)
|
||||
|
||||
(* Test basic functionality. *)
|
||||
|
||||
open Unix
|
||||
|
||||
let () =
|
||||
let g = Guestfs.create () in
|
||||
let g = new Guestfs.guestfs () in
|
||||
|
||||
let fd = openfile "test.img" [O_WRONLY;O_CREAT;O_NOCTTY;O_TRUNC] 0o666 in
|
||||
ftruncate fd (10 * 1024 * 1024);
|
||||
ftruncate fd (500 * 1024 * 1024);
|
||||
close fd;
|
||||
|
||||
Guestfs.add_drive g "test.img";
|
||||
Guestfs.launch g;
|
||||
g#set_autosync true;
|
||||
|
||||
Guestfs.part_disk g "/dev/sda" "mbr";
|
||||
Guestfs.mkfs g "ext2" "/dev/sda1";
|
||||
Guestfs.mount g "/dev/sda1" "/";
|
||||
Guestfs.mkdir g "/p";
|
||||
Guestfs.touch g "/q";
|
||||
g#add_drive "test.img";
|
||||
g#launch ();
|
||||
|
||||
let dirs = Guestfs.readdir g "/" in
|
||||
g#pvcreate "/dev/sda";
|
||||
g#vgcreate "VG" [|"/dev/sda"|];
|
||||
g#lvcreate "LV1" "VG" 200;
|
||||
g#lvcreate "LV2" "VG" 200;
|
||||
|
||||
let lvs = g#lvs () in
|
||||
if lvs <> [|"/dev/VG/LV1"; "/dev/VG/LV2"|] then
|
||||
failwith "Guestfs.lvs returned incorrect result";
|
||||
|
||||
g#mkfs "ext2" "/dev/VG/LV1";
|
||||
g#mount_options "" "/dev/VG/LV1" "/";
|
||||
g#mkdir "/p";
|
||||
g#touch "/q";
|
||||
|
||||
let dirs = g#readdir "/" in
|
||||
let dirs = Array.to_list dirs in
|
||||
let cmp { Guestfs.name = n1 } { Guestfs.name = n2 } = compare n1 n2 in
|
||||
let dirs = List.sort cmp dirs in
|
||||
@@ -49,5 +61,5 @@ let () =
|
||||
"q", 'r' ] then
|
||||
failwith "Guestfs.readdir returned incorrect result";
|
||||
|
||||
Guestfs.close g;
|
||||
g#close ();
|
||||
unlink "test.img"
|
||||
@@ -1,31 +0,0 @@
|
||||
(* libguestfs OCaml bindings
|
||||
* 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.
|
||||
*)
|
||||
|
||||
open Unix
|
||||
|
||||
let () =
|
||||
let g = Guestfs.create () in
|
||||
|
||||
let fd = openfile "test.img" [O_WRONLY;O_CREAT;O_NOCTTY;O_TRUNC] 0o666 in
|
||||
ftruncate fd (500 * 1024 * 1024);
|
||||
close fd;
|
||||
|
||||
Guestfs.add_drive g "test.img";
|
||||
Guestfs.launch g;
|
||||
|
||||
unlink "test.img"
|
||||
@@ -1,42 +0,0 @@
|
||||
(* libguestfs OCaml bindings
|
||||
* 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.
|
||||
*)
|
||||
|
||||
open Unix
|
||||
|
||||
let () =
|
||||
let g = Guestfs.create () in
|
||||
|
||||
let fd = openfile "test.img" [O_WRONLY;O_CREAT;O_NOCTTY;O_TRUNC] 0o666 in
|
||||
ftruncate fd (500 * 1024 * 1024);
|
||||
close fd;
|
||||
|
||||
Guestfs.add_drive g "test.img";
|
||||
Guestfs.launch g;
|
||||
|
||||
Guestfs.pvcreate g "/dev/sda";
|
||||
Guestfs.vgcreate g "VG" [|"/dev/sda"|];
|
||||
Guestfs.lvcreate g "LV1" "VG" 200;
|
||||
Guestfs.lvcreate g "LV2" "VG" 200;
|
||||
|
||||
let lvs = Guestfs.lvs g in
|
||||
if lvs <> [|"/dev/VG/LV1"; "/dev/VG/LV2"|] then
|
||||
failwith "Guestfs.lvs returned incorrect result";
|
||||
|
||||
Guestfs.sync g;
|
||||
Guestfs.close g;
|
||||
unlink "test.img"
|
||||
Reference in New Issue
Block a user