From cd077b8229731e292798f34dd56892cbfa6f1e0e Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 22 Dec 2011 12:15:06 +0000 Subject: [PATCH] tests: Split images -> tests/data + tests/guests --- .gitignore | 40 ++++---- .x-sc_TAB_in_indentation | 2 +- .x-sc_trailing_blank | 2 +- Makefile.am | 2 +- cat/test-virt-cat.sh | 4 +- cat/test-virt-filesystems.sh | 4 +- cat/test-virt-ls.sh | 4 +- clone/test-virt-sysprep.sh | 2 +- configure.ac | 3 +- df/test-virt-df.sh | 2 +- edit/test-virt-edit.sh | 2 +- fish/test-copy.sh | 6 +- fish/test-find0.sh | 2 +- fish/test-read_file.sh | 4 +- fish/test-upload-to-dir.sh | 2 +- generator/generator_actions.ml | 10 +- generator/generator_tests_c_api.ml | 4 +- inspector/Makefile.am | 8 +- perl/Makefile.am | 2 +- po/POTFILES.in | 4 - src/guestfs.pod | 6 -- {images => tests/data}/Makefile.am | 87 +---------------- {images => tests/data}/README-binfiles | 0 {images => tests/data}/bin-i586-dynamic | Bin {images => tests/data}/bin-sparc-dynamic | Bin {images => tests/data}/bin-win32.exe | Bin {images => tests/data}/bin-win64.exe | Bin {images => tests/data}/bin-x86_64-dynamic | Bin {images => tests/data}/empty | 0 {images => tests/data}/helloworld.tar | Bin {images => tests/data}/helloworld.tar.gz | Bin {images => tests/data}/helloworld.tar.xz | Bin {images => tests/data}/known-1 | 0 {images => tests/data}/known-2 | 0 {images => tests/data}/known-3 | 0 {images => tests/data}/known-4 | 0 {images => tests/data}/known-5 | 0 {images => tests/data}/lib-i586.so | Bin {images => tests/data}/lib-sparc.so | Bin {images => tests/data}/lib-win32.dll | Bin {images => tests/data}/lib-win64.dll | Bin {images => tests/data}/lib-x86_64.so | Bin {images => tests/data}/mbr-ext2-empty.img.gz | Bin {images => tests/data}/test-grep.txt | 0 tests/extra/Makefile.am | 32 +++---- tests/guests/Makefile.am | 106 +++++++++++++++++++++ {images => tests/guests}/guest-aux/debian-packages | 0 .../guests}/guest-aux/fedora-name.db.txt | 0 .../guests}/guest-aux/fedora-packages.db.txt | 0 .../guests}/guest-aux/make-debian-img.sh | 4 +- .../guests}/guest-aux/make-fedora-img.pl | 2 +- .../guests}/guest-aux/make-ubuntu-img.sh | 4 +- .../guests}/guest-aux/make-windows-img.sh | 6 +- {images => tests/guests}/guest-aux/minimal-hive | Bin .../guests}/guest-aux/windows-software | Bin .../guests}/guest-aux/windows-software.reg | 0 {images => tests/guests}/guest-aux/windows-system | Bin .../guests}/guest-aux/windows-system.reg | 0 tests/md/test-inspect-fstab-md.sh | 4 +- tests/md/test-inspect-fstab.sh | 2 +- tools/test-virt-list-filesystems.sh | 2 +- tools/test-virt-tar.sh | 2 +- 62 files changed, 191 insertions(+), 175 deletions(-) rename {images => tests/data}/Makefile.am (61%) rename {images => tests/data}/README-binfiles (100%) rename {images => tests/data}/bin-i586-dynamic (100%) rename {images => tests/data}/bin-sparc-dynamic (100%) rename {images => tests/data}/bin-win32.exe (100%) rename {images => tests/data}/bin-win64.exe (100%) rename {images => tests/data}/bin-x86_64-dynamic (100%) rename {images => tests/data}/empty (100%) rename {images => tests/data}/helloworld.tar (100%) rename {images => tests/data}/helloworld.tar.gz (100%) rename {images => tests/data}/helloworld.tar.xz (100%) rename {images => tests/data}/known-1 (100%) rename {images => tests/data}/known-2 (100%) rename {images => tests/data}/known-3 (100%) rename {images => tests/data}/known-4 (100%) rename {images => tests/data}/known-5 (100%) rename {images => tests/data}/lib-i586.so (100%) rename {images => tests/data}/lib-sparc.so (100%) rename {images => tests/data}/lib-win32.dll (100%) rename {images => tests/data}/lib-win64.dll (100%) rename {images => tests/data}/lib-x86_64.so (100%) rename {images => tests/data}/mbr-ext2-empty.img.gz (100%) rename {images => tests/data}/test-grep.txt (100%) create mode 100644 tests/guests/Makefile.am rename {images => tests/guests}/guest-aux/debian-packages (100%) rename {images => tests/guests}/guest-aux/fedora-name.db.txt (100%) rename {images => tests/guests}/guest-aux/fedora-packages.db.txt (100%) rename {images => tests/guests}/guest-aux/make-debian-img.sh (96%) rename {images => tests/guests}/guest-aux/make-fedora-img.pl (98%) rename {images => tests/guests}/guest-aux/make-ubuntu-img.sh (95%) rename {images => tests/guests}/guest-aux/make-windows-img.sh (91%) rename {images => tests/guests}/guest-aux/minimal-hive (100%) rename {images => tests/guests}/guest-aux/windows-software (100%) rename {images => tests/guests}/guest-aux/windows-software.reg (100%) rename {images => tests/guests}/guest-aux/windows-system (100%) rename {images => tests/guests}/guest-aux/windows-system.reg (100%) diff --git a/.gitignore b/.gitignore index 895227c..dcf2af1 100644 --- a/.gitignore +++ b/.gitignore @@ -152,26 +152,6 @@ html/virt-tar.1.html html/virt-tar-in.1.html html/virt-tar-out.1.html html/virt-win-reg.1.html -images/100kallnewlines -images/100kallspaces -images/100kallzeroes -images/100krandom -images/10klines -images/abssymlink -images/debian.img -images/fedora.img -images/fedora-md1.img -images/fedora-md2.img -images/guest-aux/fedora-name.db -images/guest-aux/fedora-packages.db -images/hello.b64 -images/initrd -images/initrd-x86_64.img -images/initrd-x86_64.img.gz -images/test.iso -images/test-grep.txt.gz -images/ubuntu.img -images/windows.img inspector/stamp-virt-inspector.pod inspector/virt-inspector inspector/virt-inspector.1 @@ -356,7 +336,27 @@ tests/c-api/test*.img tests/c-api/tests tests/c-api/tests.c tests/c-api/test*.tmp +tests/data/100kallnewlines +tests/data/100kallspaces +tests/data/100kallzeroes +tests/data/100krandom +tests/data/10klines +tests/data/abssymlink +tests/data/hello.b64 +tests/data/initrd +tests/data/initrd-x86_64.img +tests/data/initrd-x86_64.img.gz +tests/data/test.iso +tests/data/test-grep.txt.gz tests/extra/valgrind.log +tests/guests/debian.img +tests/guests/fedora.img +tests/guests/fedora-md1.img +tests/guests/fedora-md2.img +tests/guests/guest-aux/fedora-name.db +tests/guests/guest-aux/fedora-packages.db +tests/guests/ubuntu.img +tests/guests/windows.img tests/regressions/rhbz501893 tools/test.img tools/virt-*.1 diff --git a/.x-sc_TAB_in_indentation b/.x-sc_TAB_in_indentation index ef5b1b6..586e1d2 100644 --- a/.x-sc_TAB_in_indentation +++ b/.x-sc_TAB_in_indentation @@ -1,5 +1,5 @@ ^appliance/debian/modules/ -^images/ +^tests/data/ ^COPYING(.LIB)?$ ^\.gitmodules$ (^|\/)ChangeLog[^/]*$ diff --git a/.x-sc_trailing_blank b/.x-sc_trailing_blank index 502e660..148e6aa 100644 --- a/.x-sc_trailing_blank +++ b/.x-sc_trailing_blank @@ -1,2 +1,2 @@ -images/bin-win64.exe +tests/data/bin-win64.exe *.pod diff --git a/Makefile.am b/Makefile.am index 9ae5217..438c522 100644 --- a/Makefile.am +++ b/Makefile.am @@ -20,7 +20,7 @@ include $(top_srcdir)/subdir-rules.mk ACLOCAL_AMFLAGS = -I m4 # Basic source for the library. -SUBDIRS = gnulib/lib images generator src examples po +SUBDIRS = gnulib/lib tests/data tests/guests generator src examples po if ENABLE_DAEMON SUBDIRS += daemon diff --git a/cat/test-virt-cat.sh b/cat/test-virt-cat.sh index 19b8d87..7984456 100755 --- a/cat/test-virt-cat.sh +++ b/cat/test-virt-cat.sh @@ -4,11 +4,11 @@ export LANG=C set -e # Read out the test files from the image using virt-cat. -if [ "$(./virt-cat ../images/fedora.img /etc/test1)" != "abcdefg" ]; then +if [ "$(./virt-cat ../tests/guests/fedora.img /etc/test1)" != "abcdefg" ]; then echo "$0: error: mismatch in file test1" exit 1 fi -if [ "$(./virt-cat ../images/fedora.img /etc/test2)" != "" ]; then +if [ "$(./virt-cat ../tests/guests/fedora.img /etc/test2)" != "" ]; then echo "$0: error: mismatch in file test2" exit 1 fi diff --git a/cat/test-virt-filesystems.sh b/cat/test-virt-filesystems.sh index f3c325c..e664e1a 100755 --- a/cat/test-virt-filesystems.sh +++ b/cat/test-virt-filesystems.sh @@ -3,7 +3,7 @@ export LANG=C set -e -output="$(./virt-filesystems -a ../images/fedora.img | sort)" +output="$(./virt-filesystems -a ../tests/guests/fedora.img | sort)" expected="/dev/VG/LV1 /dev/VG/LV2 /dev/VG/LV3 @@ -16,7 +16,7 @@ if [ "$output" != "$expected" ]; then exit 1 fi -output="$(./virt-filesystems -a ../images/fedora.img --all --long --uuid -h --no-title | awk '{print $1}' | sort -u)" +output="$(./virt-filesystems -a ../tests/guests/fedora.img --all --long --uuid -h --no-title | awk '{print $1}' | sort -u)" expected="/dev/VG /dev/VG/LV1 /dev/VG/LV2 diff --git a/cat/test-virt-ls.sh b/cat/test-virt-ls.sh index 3f702b7..b7b02a3 100755 --- a/cat/test-virt-ls.sh +++ b/cat/test-virt-ls.sh @@ -4,7 +4,7 @@ export LANG=C set -e # Read out the test directory using virt-ls. -if [ "$(./virt-ls ../images/fedora.img /bin)" != "ls +if [ "$(./virt-ls ../tests/guests/fedora.img /bin)" != "ls test1 test2 test3 @@ -17,7 +17,7 @@ test7" ]; then fi # Try the -lR option. -output="$(./virt-ls -lR ../images/fedora.img /boot | awk '{print $1 $2 $4}')" +output="$(./virt-ls -lR ../tests/guests/fedora.img /boot | awk '{print $1 $2 $4}')" expected="d0755/boot d0755/boot/grub -0644/boot/grub/grub.conf diff --git a/clone/test-virt-sysprep.sh b/clone/test-virt-sysprep.sh index 1ebbde7..3217389 100755 --- a/clone/test-virt-sysprep.sh +++ b/clone/test-virt-sysprep.sh @@ -26,7 +26,7 @@ fi rm -f test.img guestfish -qemu-img create -f qcow2 -o backing_file=../images/fedora.img test.img +qemu-img create -f qcow2 -o backing_file=../tests/guests/fedora.img test.img # Provide alternate 'virt-inspector' and 'guestmount' binaries # that run the just-built programs. diff --git a/configure.ac b/configure.ac index 6084a1b..b0661a0 100644 --- a/configure.ac +++ b/configure.ac @@ -1022,7 +1022,6 @@ AC_CONFIG_FILES([Makefile gnulib/lib/Makefile gnulib/tests/Makefile haskell/Makefile - images/Makefile inspector/Makefile java/Makefile java/examples/Makefile @@ -1049,7 +1048,9 @@ AC_CONFIG_FILES([Makefile src/Makefile test-tool/Makefile tests/c-api/Makefile + tests/data/Makefile tests/extra/Makefile + tests/guests/Makefile tests/luks/Makefile tests/lvm/Makefile tests/md/Makefile diff --git a/df/test-virt-df.sh b/df/test-virt-df.sh index 38884e1..af503a3 100755 --- a/df/test-virt-df.sh +++ b/df/test-virt-df.sh @@ -4,7 +4,7 @@ export LANG=C set -e # Run virt-df. -output=$(./virt-df ../images/fedora.img) +output=$(./virt-df ../tests/guests/fedora.img) # Check title is the first line. if [[ ! $output =~ ^Filesystem.* ]]; then diff --git a/edit/test-virt-edit.sh b/edit/test-virt-edit.sh index d43851b..7645a7f 100755 --- a/edit/test-virt-edit.sh +++ b/edit/test-virt-edit.sh @@ -5,7 +5,7 @@ set -e # Make a copy of the Fedora image so we can write to it then # discard it. -cp ../images/fedora.img test.img +cp ../tests/guests/fedora.img test.img # Edit interactively. We have to simulate this by setting $EDITOR. # The command will be: echo newline >> /tmp/file diff --git a/fish/test-copy.sh b/fish/test-copy.sh index ea6a4cc..b6f3422 100755 --- a/fish/test-copy.sh +++ b/fish/test-copy.sh @@ -32,13 +32,13 @@ rm -f test1.img rm -rf original copy mkdir original -cp $srcdir/../images/known* original -cp -P $srcdir/../images/abssymlink* original +cp $srcdir/../tests/data/known* original +cp -P $srcdir/../tests/data/abssymlink* original output=$( ../fish/guestfish -N fs -m /dev/sda1 < test.out -add-ro ../images/test.iso +add-ro ../tests/data/test.iso run mount-ro /dev/sda / read-file /helloworld.tar EOF -cmp ../images/helloworld.tar test.out +cmp ../tests/data/helloworld.tar test.out rm -f test.out \ No newline at end of file diff --git a/fish/test-upload-to-dir.sh b/fish/test-upload-to-dir.sh index 41ce5e5..1ef24a0 100755 --- a/fish/test-upload-to-dir.sh +++ b/fish/test-upload-to-dir.sh @@ -24,7 +24,7 @@ set -e rm -f test1.img test.out -if ../fish/guestfish -N fs -m /dev/sda1 upload ../images/test.iso / 2>test.out +if ../fish/guestfish -N fs -m /dev/sda1 upload ../tests/data/test.iso / 2>test.out then echo "$0: expecting guestfish to return an error" exit 1 diff --git a/generator/generator_actions.ml b/generator/generator_actions.ml index f7a6a6c..7a5d786 100644 --- a/generator/generator_actions.ml +++ b/generator/generator_actions.ml @@ -2818,7 +2818,7 @@ To get the checksums for many files, use C."); ("tar_in", (RErr, [FileIn "tarfile"; Pathname "directory"], []), 69, [], [InitScratchFS, Always, TestOutput ( [["mkdir"; "/tar_in"]; - ["tar_in"; "../images/helloworld.tar"; "/tar_in"]; + ["tar_in"; "../data/helloworld.tar"; "/tar_in"]; ["cat"; "/tar_in/hello"]], "hello\n")], "unpack tarfile to directory", "\ @@ -2841,7 +2841,7 @@ or C."); ("tgz_in", (RErr, [FileIn "tarball"; Pathname "directory"], []), 71, [], [InitScratchFS, Always, TestOutput ( [["mkdir"; "/tgz_in"]; - ["tgz_in"; "../images/helloworld.tar.gz"; "/tgz_in"]; + ["tgz_in"; "../data/helloworld.tar.gz"; "/tgz_in"]; ["cat"; "/tgz_in/hello"]], "hello\n")], "unpack compressed tarball to directory", "\ @@ -5385,7 +5385,7 @@ or growing unnecessarily."); ("txz_in", (RErr, [FileIn "tarball"; Pathname "directory"], []), 229, [Optional "xz"], [InitScratchFS, Always, TestOutput ( [["mkdir"; "/txz_in"]; - ["txz_in"; "../images/helloworld.tar.xz"; "/txz_in"]; + ["txz_in"; "../data/helloworld.tar.xz"; "/txz_in"]; ["cat"; "/txz_in/hello"]], "hello\n")], "unpack compressed tarball to directory", "\ @@ -5482,7 +5482,7 @@ types (see C)."); ("checksum_device", (RString "checksum", [String "csumtype"; Device "device"], []), 237, [], [InitISOFS, Always, TestOutputFileMD5 ( [["checksum_device"; "md5"; "/dev/sdd"]], - "../images/test.iso")], + "../data/test.iso")], "compute MD5, SHAx or CRC checksum of the contents of a device", "\ This call computes the MD5, SHAx or CRC checksum of the @@ -5532,7 +5532,7 @@ to find out what it is for."); ("base64_in", (RErr, [FileIn "base64file"; Pathname "filename"], []), 242, [], [InitScratchFS, Always, TestOutput ( - [["base64_in"; "../images/hello.b64"; "/base64_in"]; + [["base64_in"; "../data/hello.b64"; "/base64_in"]; ["cat"; "/base64_in"]], "hello\n")], "upload base64-encoded data to file", "\ diff --git a/generator/generator_tests_c_api.ml b/generator/generator_tests_c_api.ml index 5b4f7a8..5d2d20a 100644 --- a/generator/generator_tests_c_api.ml +++ b/generator/generator_tests_c_api.ml @@ -257,8 +257,8 @@ int main (int argc, char *argv[]) exit (EXIT_FAILURE); } - if (guestfs_add_drive_ro (g, \"../../images/test.iso\") == -1) { - printf (\"guestfs_add_drive_ro ../../images/test.iso FAILED\\n\"); + if (guestfs_add_drive_ro (g, \"../data/test.iso\") == -1) { + printf (\"guestfs_add_drive_ro ../data/test.iso FAILED\\n\"); exit (EXIT_FAILURE); } diff --git a/inspector/Makefile.am b/inspector/Makefile.am index 338afe3..8ef8734 100644 --- a/inspector/Makefile.am +++ b/inspector/Makefile.am @@ -101,18 +101,18 @@ endif example-debian.xml: rm -f $@ $@-t - ../run $(builddir)/virt-inspector ../images/debian.img > $@-t + ../run $(builddir)/virt-inspector ../tests/guests/debian.img > $@-t mv $@-t $@ example-fedora.xml: rm -f $@ $@-t - ../run $(builddir)/virt-inspector ../images/fedora.img > $@-t + ../run $(builddir)/virt-inspector ../tests/guests/fedora.img > $@-t mv $@-t $@ example-ubuntu.xml: rm -f $@ $@-t - ../run $(builddir)/virt-inspector ../images/ubuntu.img > $@-t + ../run $(builddir)/virt-inspector ../tests/guests/ubuntu.img > $@-t mv $@-t $@ example-windows.xml: rm -f $@ $@-t - ../run $(builddir)/virt-inspector ../images/windows.img | \ + ../run $(builddir)/virt-inspector ../tests/guests/windows.img | \ fgrep -v '' > $@-t mv $@-t $@ diff --git a/perl/Makefile.am b/perl/Makefile.am index eff0059..e924cb1 100644 --- a/perl/Makefile.am +++ b/perl/Makefile.am @@ -46,7 +46,7 @@ src_deps: $(top_builddir)/src/libguestfs.la $(generator_built) # Images used by tests .PHONY: test_images test_images: - $(MAKE) -C $(top_builddir)/images + $(MAKE) -C $(top_builddir)/tests/data TESTS = run-bindtests run-perl-tests diff --git a/po/POTFILES.in b/po/POTFILES.in index 9a18ead..380a3c7 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -137,10 +137,6 @@ perl/lib/Sys/Guestfs/Lib.pm php/extension/guestfs_php.c python/guestfs-py-byhand.c python/guestfs-py.c -regressions/rhbz501893.c -regressions/test-launch-race.pl -regressions/test-lvm-mapping.pl -regressions/test-noexec-stack.pl rescue/virt-rescue.c resize/progress_c.c ruby/ext/guestfs/_guestfs.c diff --git a/src/guestfs.pod b/src/guestfs.pod index 3bad6e6..f7740b6 100644 --- a/src/guestfs.pod +++ b/src/guestfs.pod @@ -2964,12 +2964,6 @@ L, FUSE (userspace filesystem) built on top of libguestfs. The crucially important generator, used to automatically generate large amounts of boilerplate C code for things like RPC and bindings. -=item C - -Files used by the test suite. - -Some "phony" guest images which we test against. - =item C L, the virtual machine image inspector. diff --git a/images/Makefile.am b/tests/data/Makefile.am similarity index 61% rename from images/Makefile.am rename to tests/data/Makefile.am index e413750..43f40a1 100644 --- a/images/Makefile.am +++ b/tests/data/Makefile.am @@ -18,7 +18,7 @@ include $(top_srcdir)/subdir-rules.mk # Old RHEL 5 autoconf doesn't have builddir. -builddir ?= $(top_builddir)/images +builddir ?= $(top_builddir)/tests/data EXTRA_DIST = \ helloworld.tar \ @@ -36,32 +36,14 @@ EXTRA_DIST = \ lib-win32.dll \ lib-win64.dll \ lib-x86_64.so \ - test-grep.txt \ - guest-aux/make-debian-img.sh \ - guest-aux/debian-packages \ - guest-aux/make-fedora-img.pl \ - guest-aux/fedora-name.db.txt \ - guest-aux/fedora-name.db \ - guest-aux/fedora-packages.db.txt \ - guest-aux/fedora-packages.db \ - guest-aux/make-ubuntu-img.sh \ - guest-aux/make-windows-img.sh \ - guest-aux/windows-software \ - guest-aux/windows-software.reg \ - guest-aux/windows-system \ - guest-aux/windows-system.reg \ - guest-aux/minimal-hive + test-grep.txt noinst_DATA = test.iso -# This is 'check_DATA' because we don't need it until 'make check' -# time and we need the tools we have built in order to make it. -check_DATA = debian.img fedora.img fedora-md1.img fedora-md2.img ubuntu.img windows.img - CLEANFILES = \ test.iso test.sqsh \ 100kallzeroes 100kallnewlines 100kallspaces 100krandom 10klines \ - initrd $(check_DATA) + initrd images_files_src = \ $(srcdir)/helloworld.tar \ @@ -168,66 +150,3 @@ $(builddir)/test-grep.txt.gz: test-grep.txt rm -f $@ $@-t gzip --best -c $< > $@-t mv $@-t $@ - -# Make a (dummy) Fedora image. -fedora.img: guest-aux/make-fedora-img.pl \ - guest-aux/fedora-name.db \ - guest-aux/fedora-packages.db - TMPDIR=$(top_builddir) \ - SRCDIR=$(srcdir) \ - LAYOUT=partitions \ - ../run $< - -# Make a (dummy) Fedora image using md devices -fedora-md1.img fedora-md2.img: guest-aux/make-fedora-img.pl \ - guest-aux/fedora-name.db \ - guest-aux/fedora-packages.db - TMPDIR=$(top_builddir) \ - SRCDIR=$(srcdir) \ - LAYOUT=partitions-md \ - ../run $< - -guest-aux/fedora-name.db: guest-aux/fedora-name.db.txt - rm -f $@ $@-t - mkdir -p guest-aux - $(DB_LOAD) $@-t < $< - mv $@-t $@ - -guest-aux/fedora-packages.db: guest-aux/fedora-packages.db.txt - rm -f $@ $@-t - mkdir -p guest-aux - $(DB_LOAD) $@-t < $< - mv $@-t $@ - -# Make a (dummy) Debian image. -debian.img: guest-aux/make-debian-img.sh - TMPDIR=$(top_builddir) \ - SRCDIR=$(srcdir) \ - bash $< - -# Make a (dummy) Ubuntu image. -ubuntu.img: guest-aux/make-ubuntu-img.sh - TMPDIR=$(top_builddir) \ - SRCDIR=$(srcdir) \ - bash $< - -# Make a (dummy) Windows image. -windows.img: guest-aux/make-windows-img.sh \ - guest-aux/windows-software guest-aux/windows-system - TMPDIR=$(top_builddir) \ - SRCDIR=$(srcdir) \ - bash $< - -# Since users might not have the tools needed to create this, we -# also distribute these files. -guest-aux/windows-software: guest-aux/windows-software.reg - rm -f $@ $@-t - cp guest-aux/minimal-hive $@-t - hivexregedit --merge $@-t --prefix 'HKEY_LOCAL_MACHINE\SOFTWARE' $< - mv $@-t $@ - -guest-aux/windows-system: guest-aux/windows-system.reg - rm -f $@ $@-t - cp guest-aux/minimal-hive $@-t - hivexregedit --merge $@-t --prefix 'HKEY_LOCAL_MACHINE\SYSTEM' $< - mv $@-t $@ diff --git a/images/README-binfiles b/tests/data/README-binfiles similarity index 100% rename from images/README-binfiles rename to tests/data/README-binfiles diff --git a/images/bin-i586-dynamic b/tests/data/bin-i586-dynamic similarity index 100% rename from images/bin-i586-dynamic rename to tests/data/bin-i586-dynamic diff --git a/images/bin-sparc-dynamic b/tests/data/bin-sparc-dynamic similarity index 100% rename from images/bin-sparc-dynamic rename to tests/data/bin-sparc-dynamic diff --git a/images/bin-win32.exe b/tests/data/bin-win32.exe similarity index 100% rename from images/bin-win32.exe rename to tests/data/bin-win32.exe diff --git a/images/bin-win64.exe b/tests/data/bin-win64.exe similarity index 100% rename from images/bin-win64.exe rename to tests/data/bin-win64.exe diff --git a/images/bin-x86_64-dynamic b/tests/data/bin-x86_64-dynamic similarity index 100% rename from images/bin-x86_64-dynamic rename to tests/data/bin-x86_64-dynamic diff --git a/images/empty b/tests/data/empty similarity index 100% rename from images/empty rename to tests/data/empty diff --git a/images/helloworld.tar b/tests/data/helloworld.tar similarity index 100% rename from images/helloworld.tar rename to tests/data/helloworld.tar diff --git a/images/helloworld.tar.gz b/tests/data/helloworld.tar.gz similarity index 100% rename from images/helloworld.tar.gz rename to tests/data/helloworld.tar.gz diff --git a/images/helloworld.tar.xz b/tests/data/helloworld.tar.xz similarity index 100% rename from images/helloworld.tar.xz rename to tests/data/helloworld.tar.xz diff --git a/images/known-1 b/tests/data/known-1 similarity index 100% rename from images/known-1 rename to tests/data/known-1 diff --git a/images/known-2 b/tests/data/known-2 similarity index 100% rename from images/known-2 rename to tests/data/known-2 diff --git a/images/known-3 b/tests/data/known-3 similarity index 100% rename from images/known-3 rename to tests/data/known-3 diff --git a/images/known-4 b/tests/data/known-4 similarity index 100% rename from images/known-4 rename to tests/data/known-4 diff --git a/images/known-5 b/tests/data/known-5 similarity index 100% rename from images/known-5 rename to tests/data/known-5 diff --git a/images/lib-i586.so b/tests/data/lib-i586.so similarity index 100% rename from images/lib-i586.so rename to tests/data/lib-i586.so diff --git a/images/lib-sparc.so b/tests/data/lib-sparc.so similarity index 100% rename from images/lib-sparc.so rename to tests/data/lib-sparc.so diff --git a/images/lib-win32.dll b/tests/data/lib-win32.dll similarity index 100% rename from images/lib-win32.dll rename to tests/data/lib-win32.dll diff --git a/images/lib-win64.dll b/tests/data/lib-win64.dll similarity index 100% rename from images/lib-win64.dll rename to tests/data/lib-win64.dll diff --git a/images/lib-x86_64.so b/tests/data/lib-x86_64.so similarity index 100% rename from images/lib-x86_64.so rename to tests/data/lib-x86_64.so diff --git a/images/mbr-ext2-empty.img.gz b/tests/data/mbr-ext2-empty.img.gz similarity index 100% rename from images/mbr-ext2-empty.img.gz rename to tests/data/mbr-ext2-empty.img.gz diff --git a/images/test-grep.txt b/tests/data/test-grep.txt similarity index 100% rename from images/test-grep.txt rename to tests/data/test-grep.txt diff --git a/tests/extra/Makefile.am b/tests/extra/Makefile.am index 7d1cc22..582fa55 100644 --- a/tests/extra/Makefile.am +++ b/tests/extra/Makefile.am @@ -104,22 +104,22 @@ test-tools-null: # Invocations of tools on internal images shouldn't leak memory. test-tools-internal: - $(RUN_VG) ../../cat/virt-cat -a ../images/fedora.img /etc/fstab >/dev/null - $(RUN_VG) ../../cat/virt-filesystems -a ../images/fedora.img >/dev/null - $(RUN_VG) ../../cat/virt-filesystems -a ../images/fedora.img --all --long -h --uuid >/dev/null - $(RUN_VG) ../../cat/virt-ls -a ../images/fedora.img / >/dev/null - $(RUN_VG) ../../cat/virt-ls -a ../images/fedora.img -l / >/dev/null - $(RUN_VG) ../../cat/virt-ls -a ../images/fedora.img -R / >/dev/null - $(RUN_VG) ../../cat/virt-ls -a ../images/fedora.img -lR / >/dev/null - $(RUN_VG) ../../df/virt-df -a ../images/fedora.img >/dev/null - $(RUN_VG) ../../df/virt-df -a ../images/fedora.img -h >/dev/null - $(RUN_VG) ../../fish/guestfish -a ../images/fedora.img run - $(RUN_VG) ../../fish/guestfish -a ../images/fedora.img -i exit - $(RUN_VG) ../../inspector/virt-inspector -a ../images/debian.img >/dev/null - $(RUN_VG) ../../inspector/virt-inspector -a ../images/fedora.img >/dev/null - $(RUN_VG) ../../inspector/virt-inspector -a ../images/fedora-md1.img -a ../images/fedora-md2.img >/dev/null - $(RUN_VG) ../../inspector/virt-inspector -a ../images/ubuntu.img >/dev/null - $(RUN_VG) ../../inspector/virt-inspector -a ../images/windows.img >/dev/null + $(RUN_VG) ../../cat/virt-cat -a ../guests/fedora.img /etc/fstab >/dev/null + $(RUN_VG) ../../cat/virt-filesystems -a ../guests/fedora.img >/dev/null + $(RUN_VG) ../../cat/virt-filesystems -a ../guests/fedora.img --all --long -h --uuid >/dev/null + $(RUN_VG) ../../cat/virt-ls -a ../guests/fedora.img / >/dev/null + $(RUN_VG) ../../cat/virt-ls -a ../guests/fedora.img -l / >/dev/null + $(RUN_VG) ../../cat/virt-ls -a ../guests/fedora.img -R / >/dev/null + $(RUN_VG) ../../cat/virt-ls -a ../guests/fedora.img -lR / >/dev/null + $(RUN_VG) ../../df/virt-df -a ../guests/fedora.img >/dev/null + $(RUN_VG) ../../df/virt-df -a ../guests/fedora.img -h >/dev/null + $(RUN_VG) ../../fish/guestfish -a ../guests/fedora.img run + $(RUN_VG) ../../fish/guestfish -a ../guests/fedora.img -i exit + $(RUN_VG) ../../inspector/virt-inspector -a ../guests/debian.img >/dev/null + $(RUN_VG) ../../inspector/virt-inspector -a ../guests/fedora.img >/dev/null + $(RUN_VG) ../../inspector/virt-inspector -a ../guests/fedora-md1.img -a ../guests/fedora-md2.img >/dev/null + $(RUN_VG) ../../inspector/virt-inspector -a ../guests/ubuntu.img >/dev/null + $(RUN_VG) ../../inspector/virt-inspector -a ../guests/windows.img >/dev/null # Invocations of tools on real images shouldn't leak memory. test-df-real: diff --git a/tests/guests/Makefile.am b/tests/guests/Makefile.am new file mode 100644 index 0000000..ee28034 --- /dev/null +++ b/tests/guests/Makefile.am @@ -0,0 +1,106 @@ +# libguestfs test images +# 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 +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +include $(top_srcdir)/subdir-rules.mk + +# Old RHEL 5 autoconf doesn't have builddir. +builddir ?= $(top_builddir)/tests/guests + +EXTRA_DIST = \ + guest-aux/make-debian-img.sh \ + guest-aux/debian-packages \ + guest-aux/make-fedora-img.pl \ + guest-aux/fedora-name.db.txt \ + guest-aux/fedora-name.db \ + guest-aux/fedora-packages.db.txt \ + guest-aux/fedora-packages.db \ + guest-aux/make-ubuntu-img.sh \ + guest-aux/make-windows-img.sh \ + guest-aux/windows-software \ + guest-aux/windows-software.reg \ + guest-aux/windows-system \ + guest-aux/windows-system.reg \ + guest-aux/minimal-hive + +# This is 'check_DATA' because we don't need it until 'make check' +# time and we need the tools we have built in order to make it. +check_DATA = debian.img fedora.img fedora-md1.img fedora-md2.img ubuntu.img windows.img + +CLEANFILES = $(check_DATA) + +# Make a (dummy) Fedora image. +fedora.img: guest-aux/make-fedora-img.pl \ + guest-aux/fedora-name.db \ + guest-aux/fedora-packages.db + TMPDIR=$(top_builddir) \ + SRCDIR=$(srcdir) \ + LAYOUT=partitions \ + ../../run $< + +# Make a (dummy) Fedora image using md devices +fedora-md1.img fedora-md2.img: guest-aux/make-fedora-img.pl \ + guest-aux/fedora-name.db \ + guest-aux/fedora-packages.db + TMPDIR=$(top_builddir) \ + SRCDIR=$(srcdir) \ + LAYOUT=partitions-md \ + ../../run $< + +guest-aux/fedora-name.db: guest-aux/fedora-name.db.txt + rm -f $@ $@-t + mkdir -p guest-aux + $(DB_LOAD) $@-t < $< + mv $@-t $@ + +guest-aux/fedora-packages.db: guest-aux/fedora-packages.db.txt + rm -f $@ $@-t + mkdir -p guest-aux + $(DB_LOAD) $@-t < $< + mv $@-t $@ + +# Make a (dummy) Debian image. +debian.img: guest-aux/make-debian-img.sh + TMPDIR=$(top_builddir) \ + SRCDIR=$(srcdir) \ + bash $< + +# Make a (dummy) Ubuntu image. +ubuntu.img: guest-aux/make-ubuntu-img.sh + TMPDIR=$(top_builddir) \ + SRCDIR=$(srcdir) \ + bash $< + +# Make a (dummy) Windows image. +windows.img: guest-aux/make-windows-img.sh \ + guest-aux/windows-software guest-aux/windows-system + TMPDIR=$(top_builddir) \ + SRCDIR=$(srcdir) \ + bash $< + +# Since users might not have the tools needed to create this, we +# also distribute these files. +guest-aux/windows-software: guest-aux/windows-software.reg + rm -f $@ $@-t + cp guest-aux/minimal-hive $@-t + hivexregedit --merge $@-t --prefix 'HKEY_LOCAL_MACHINE\SOFTWARE' $< + mv $@-t $@ + +guest-aux/windows-system: guest-aux/windows-system.reg + rm -f $@ $@-t + cp guest-aux/minimal-hive $@-t + hivexregedit --merge $@-t --prefix 'HKEY_LOCAL_MACHINE\SYSTEM' $< + mv $@-t $@ diff --git a/images/guest-aux/debian-packages b/tests/guests/guest-aux/debian-packages similarity index 100% rename from images/guest-aux/debian-packages rename to tests/guests/guest-aux/debian-packages diff --git a/images/guest-aux/fedora-name.db.txt b/tests/guests/guest-aux/fedora-name.db.txt similarity index 100% rename from images/guest-aux/fedora-name.db.txt rename to tests/guests/guest-aux/fedora-name.db.txt diff --git a/images/guest-aux/fedora-packages.db.txt b/tests/guests/guest-aux/fedora-packages.db.txt similarity index 100% rename from images/guest-aux/fedora-packages.db.txt rename to tests/guests/guest-aux/fedora-packages.db.txt diff --git a/images/guest-aux/make-debian-img.sh b/tests/guests/guest-aux/make-debian-img.sh similarity index 96% rename from images/guest-aux/make-debian-img.sh rename to tests/guests/guest-aux/make-debian-img.sh index ade2331..b936f81 100755 --- a/images/guest-aux/make-debian-img.sh +++ b/tests/guests/guest-aux/make-debian-img.sh @@ -31,7 +31,7 @@ LABEL=BOOT /boot ext2 default 0 0 EOF # Create a disk image. -../run ../fish/guestfish <upload('guest-aux/fedora-name.db', '/var/lib/rpm/Name'); $g->upload('guest-aux/fedora-packages.db', '/var/lib/rpm/Packages'); -$g->upload($ENV{SRCDIR}.'/bin-x86_64-dynamic', '/bin/ls'); +$g->upload($ENV{SRCDIR}.'/../data/bin-x86_64-dynamic', '/bin/ls'); $g->mkdir('/boot/grub'); $g->touch('/boot/grub/grub.conf'); diff --git a/images/guest-aux/make-ubuntu-img.sh b/tests/guests/guest-aux/make-ubuntu-img.sh similarity index 95% rename from images/guest-aux/make-ubuntu-img.sh rename to tests/guests/guest-aux/make-ubuntu-img.sh index 0c4d60a..e55c790 100755 --- a/images/guest-aux/make-ubuntu-img.sh +++ b/tests/guests/guest-aux/make-ubuntu-img.sh @@ -36,7 +36,7 @@ DISTRIB_DESCRIPTION="Ubuntu 10.10 (Phony Pharaoh)" EOF # Create a disk image. -../run ../fish/guestfish < test.output exists /boot/grub/grub.conf diff --git a/tests/md/test-inspect-fstab.sh b/tests/md/test-inspect-fstab.sh index 72a11fa..576ce03 100755 --- a/tests/md/test-inspect-fstab.sh +++ b/tests/md/test-inspect-fstab.sh @@ -28,7 +28,7 @@ rm -f test1.img test.fstab test.output # Start with the regular (good) fedora image, modify /etc/fstab # and then inspect it. -cp ../../images/fedora.img test1.img +cp ../guests/fedora.img test1.img cat <<'EOF' > test.fstab /dev/VG/Root / ext2 default 0 0 diff --git a/tools/test-virt-list-filesystems.sh b/tools/test-virt-list-filesystems.sh index bd4e4e7..210ea13 100755 --- a/tools/test-virt-list-filesystems.sh +++ b/tools/test-virt-list-filesystems.sh @@ -5,7 +5,7 @@ set -e # Run virt-list-filesystems. # Only columns 1 & 2 are guaranteed, we may add more in future. -if [ "$(./virt-list-filesystems -l ../images/fedora.img | +if [ "$(./virt-list-filesystems -l ../tests/guests/fedora.img | sort | awk '{print $1 $2}')" \ != \ "/dev/VG/LV1ext2 diff --git a/tools/test-virt-tar.sh b/tools/test-virt-tar.sh index dec4f48..1417989 100755 --- a/tools/test-virt-tar.sh +++ b/tools/test-virt-tar.sh @@ -4,7 +4,7 @@ export LANG=C set -e # Read out the test directory using virt-tar. -./virt-tar -x ../images/fedora.img /bin test.tar +./virt-tar -x ../tests/guests/fedora.img /bin test.tar if [ "$(tar tf test.tar | sort)" != "./ ./ls -- 1.8.3.1