diff options
-rw-r--r-- | tools/xm-test/Makefile.am | 3 | ||||
-rw-r--r-- | tools/xm-test/README | 14 | ||||
-rw-r--r-- | tools/xm-test/configure.ac | 5 | ||||
-rw-r--r-- | tools/xm-test/lib/XmTestReport/xmtest.py.in | 12 | ||||
-rw-r--r-- | tools/xm-test/ramdisk/Makefile.am | 18 | ||||
-rw-r--r-- | tools/xm-test/ramdisk/configs/buildroot | 1 | ||||
-rw-r--r-- | tools/xm-test/ramdisk/patches/buildroot/hping.patch | 67 | ||||
-rwxr-xr-x | tools/xm-test/runtest.sh | 16 |
8 files changed, 124 insertions, 12 deletions
diff --git a/tools/xm-test/Makefile.am b/tools/xm-test/Makefile.am index a065616ece..8d0c84bfd7 100644 --- a/tools/xm-test/Makefile.am +++ b/tools/xm-test/Makefile.am @@ -1,6 +1,9 @@ SUBDIRS = ramdisk tests EXTRA_DIST = lib runtest.sh mkreport +existing: + $(MAKE) -C ramdisk existing + # Remove any pyc's, CVS dirs, and prune the skel dirs dist-hook: find $(distdir) -name '*~' -delete -print diff --git a/tools/xm-test/README b/tools/xm-test/README index 55d5fb4321..f357019630 100644 --- a/tools/xm-test/README +++ b/tools/xm-test/README @@ -45,11 +45,15 @@ special files, this process must be done as root: NB: If you have the initrd.img from another installation of xm-test, you can copy it into the ramdisk directory to eliminate the need to rebuild it. If you do this, there is no need to run 'make' again. -Simply copy the initrd.img file into ramdisk/ and then run the -runtest.sh script. Note that in general, you should not attempt to -use a ramdisk from a previous minor version of xm-test (i.e., don't -use a ramdisk from 0.4.0 with 0.5.0. 0.5.0 should work for 0.5.3 -though) +Simply copy the initrd-X.Y.img file into ramdisk/ and then run: + + # make existing + +This will set up the link so that xm-test will use the existing +ramdisk. Next, just run "runtest.sh" normally. Note that in general, +you should not attempt to use a ramdisk from a previous minor version +of xm-test (i.e., don't use a ramdisk from 0.4.0 with 0.5.0. 0.5.0 +should work for 0.5.3 though) Running diff --git a/tools/xm-test/configure.ac b/tools/xm-test/configure.ac index 5c37f3a8c7..5bfa2d1d52 100644 --- a/tools/xm-test/configure.ac +++ b/tools/xm-test/configure.ac @@ -1,7 +1,7 @@ # xm-test configure.ac input script # Basic header information -AC_INIT([xm-test], [0.5.0]) +AC_INIT([xm-test], [0.6.0]) AM_INIT_AUTOMAKE([1.7 foreign]) # Check for dependencies @@ -65,5 +65,6 @@ AC_CONFIG_FILES([ lib/XmTestLib/config.py ]) - AC_OUTPUT + +chmod a+x lib/XmTestReport/xmtest.py diff --git a/tools/xm-test/lib/XmTestReport/xmtest.py.in b/tools/xm-test/lib/XmTestReport/xmtest.py.in index d8eeebd6b3..9b7a2636a0 100644 --- a/tools/xm-test/lib/XmTestReport/xmtest.py.in +++ b/tools/xm-test/lib/XmTestReport/xmtest.py.in @@ -1,3 +1,15 @@ #!/usr/bin/python XM_TEST_VERSION = "@PACKAGE_VERSION@" + +if __name__ == "__main__": + import re + + match = re.match("^(\d+)\.(\d+)\.(\d+)$", XM_TEST_VERSION) + + print "XM_TEST_VERSION=%s" % XM_TEST_VERSION + if match: + print "XM_TEST_MAJ=%s" % match.group(1) + print "XM_TEST_MIN=%s" % match.group(2) + print "XM_TEST_REV=%s" % match.group(3) + diff --git a/tools/xm-test/ramdisk/Makefile.am b/tools/xm-test/ramdisk/Makefile.am index cddc397262..be0636fa74 100644 --- a/tools/xm-test/ramdisk/Makefile.am +++ b/tools/xm-test/ramdisk/Makefile.am @@ -1,5 +1,5 @@ -EXTRA_DIST = skel configs +EXTRA_DIST = skel configs patches BR_TAR = buildroot-20050823.tar.bz2 BR_URL = http://buildroot.uclibc.org/downloads/snapshots/$(BR_TAR) @@ -9,6 +9,9 @@ BR_IMG = $(BR_SRC)/rootfs.i386.ext2 BR_ROOT = build_i386/root +XMTEST_MAJ_VER = $(shell echo @PACKAGE_VERSION@ | perl -pe 's/(\d+)\.(\d+)\.\d+/\1.\2/') +XMTEST_VER_IMG = initrd-$(XMTEST_MAJ_VER).img + all: initrd.img $(BR_TAR): @@ -21,12 +24,21 @@ $(BR_IMG): $(BR_SRC) cp configs/buildroot $(BR_SRC)/.config cp configs/busybox $(BR_SRC)/package/busybox/busybox.config cp configs/uClibc $(BR_SRC)/toolchain/uClibc/uClibc.config + (for i in patches/buildroot/*.patch; do \ + cd $(BR_SRC) && patch -p1 <../$$i; done ) cd $(BR_SRC) && make oldconfig && make -initrd.img: $(BR_IMG) +$(XMTEST_VER_IMG): $(BR_IMG) (cd skel; tar cf - .) | (cd $(BR_SRC)/$(BR_ROOT); tar xvf -) cd $(BR_SRC) && make - cp $(BR_IMG) initrd.img + cp $(BR_IMG) initrd-$(XMTEST_MAJ_VER).img + +initrd.img: $(XMTEST_VER_IMG) + ln -sf $(XMTEST_VER_IMG) initrd.img + +existing: + @[ -f $(XMTEST_VER_IMG) ] && ln -sf $(XMTEST_VER_IMG) initrd.img || \ + echo Error, $(XMTEST_VER_IMG) not found clean-local: am_config_clean-local diff --git a/tools/xm-test/ramdisk/configs/buildroot b/tools/xm-test/ramdisk/configs/buildroot index c80c2c8472..64938194b2 100644 --- a/tools/xm-test/ramdisk/configs/buildroot +++ b/tools/xm-test/ramdisk/configs/buildroot @@ -225,6 +225,7 @@ BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config" # BR2_PACKAGE_WIRELESS_TOOLS is not set # BR2_PACKAGE_XORG is not set # BR2_PACKAGE_ZLIB is not set +BR2_PACKAGE_HPING=y # # Target Options diff --git a/tools/xm-test/ramdisk/patches/buildroot/hping.patch b/tools/xm-test/ramdisk/patches/buildroot/hping.patch new file mode 100644 index 0000000000..bcd5cd0caf --- /dev/null +++ b/tools/xm-test/ramdisk/patches/buildroot/hping.patch @@ -0,0 +1,67 @@ +diff -Naur buildroot.orig/package/Config.in buildroot/package/Config.in +--- buildroot.orig/package/Config.in 2005-11-15 07:30:21.000000000 -0800 ++++ buildroot/package/Config.in 2005-11-15 07:30:54.000000000 -0800 +@@ -118,6 +118,6 @@ + source "package/wireless-tools/Config.in" + source "package/xorg/Config.in" + source "package/zlib/Config.in" +- ++source "package/hping/Config.in" + + endmenu +diff -Naur buildroot.orig/package/hping/Config.in buildroot/package/hping/Config.in +--- buildroot.orig/package/hping/Config.in 1969-12-31 16:00:00.000000000 -0800 ++++ buildroot/package/hping/Config.in 2005-11-14 14:13:20.000000000 -0800 +@@ -0,0 +1,5 @@ ++config BR2_PACKAGE_HPING ++ bool "hping" ++ default y ++ help ++ This is the hping package +diff -Naur buildroot.orig/package/hping/hping.mk buildroot/package/hping/hping.mk +--- buildroot.orig/package/hping/hping.mk 1969-12-31 16:00:00.000000000 -0800 ++++ buildroot/package/hping/hping.mk 2005-11-14 15:11:06.000000000 -0800 +@@ -0,0 +1,43 @@ ++# Taken from the buildroot examples ++ ++HPING_VERSION = 2.0.0-rc3 ++HPING_TBALL = hping$(HPING_VERSION).tar.gz ++HPING_URL = http://www.hping.org/$(HPING_TBALL) ++HPING_DIR = $(BUILD_DIR)/hping2-rc3 ++HPING_TARGET_BINARY = usr/bin/hping ++HPING_BINARY = hping ++ ++$(DL_DIR)/$(HPING_TBALL): ++ $(WGET) -P $(DL_DIR) $(HPING_URL) ++ ++$(HPING_DIR)/.source: $(DL_DIR)/$(HPING_TBALL) ++ tar xzf $(DL_DIR)/$(HPING_TBALL) -C $(BUILD_DIR) ++ touch $(HPING_DIR)/.source ++ ++$(HPING_DIR)/.configured: $(HPING_DIR)/.source ++ (cd $(HPING_DIR); \ ++ ./configure; ) ++ cat $(HPING_DIR)/Makefile | grep -v './hping2 -v' > $(HPING_DIR)/foo ++ mv $(HPING_DIR)/foo $(HPING_DIR)/Makefile ++ touch $(HPING_DIR)/.configured ++ ++$(HPING_DIR)/$(HPING_BINARY): $(HPING_DIR)/.configured ++ $(MAKE) CC=$(TARGET_CC) -C $(HPING_DIR) ++ ++$(TARGET_DIR)/$(HPING_TARGET_BINARY): $(HPING_DIR)/$(HPING_BINARY) ++ cp $(HPING_DIR)/hping2 $(TARGET_DIR)/bin ++ ++hping: $(TARGET_DIR)/$(HPING_TARGET_BINARY) ++ ++hping-clean: ++ $(MAKE) prefix=$(TARGET_DIR)/usr -C $(HPING_DIR) uninstall ++ -$(MAKE) -C $(HPING_DIR) clean ++ ++hping-dirclean: ++ rm -Rf $(HPING_DIR) ++ ++ifeq ($(strip $(BR2_PACKAGE_HPING)),y) ++TARGETS += hping ++endif ++ ++ diff --git a/tools/xm-test/runtest.sh b/tools/xm-test/runtest.sh index c6a95b4e8b..f366a48c74 100755 --- a/tools/xm-test/runtest.sh +++ b/tools/xm-test/runtest.sh @@ -61,19 +61,31 @@ runnable_tests() { fi # See if the ramdisk has been built - rdsize=$(stat -c %s ramdisk/initrd.img 2>/dev/null) + rdsize=$(stat -Lc %s ramdisk/initrd.img 2>/dev/null) if [ -z "$rdsize" ] || [ $rdsize -le 16384 ]; then echo "Cannot find a valid ramdisk. You need to run \"make\" or" echo "copy in a previously-built ramdisk to the ramdisk/ directory" exit 1 fi + # Figure out the version of the ramdisk link and compare it + # to what it should be as a cheap way of making sure we're + # using the right version + realrd=$(readlink ramdisk/initrd.img) + eval $(./lib/XmTestReport/xmtest.py) + rrdver="initrd-${XM_TEST_MAJ}.${XM_TEST_MIN}.img" + if [ "$realrd" != "$rrdver" ]; then + echo "Error: ramdisk/initrd.img is from an old version" + echo "You need to build a ramdisk from at least ${XM_TEST_MAJ}.${XM_TEST_MIN}" + exit 1 + fi + # See if xend is running if ! xm list >/dev/null 2>&1; then echo "'xm list' failed: is xend running?" exit 1 fi - + } # Get contact info if needed |