From a4b6b51757f49970a20c746146a61f3c9f309fe9 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Sat, 24 Sep 2011 21:10:19 +0000 Subject: [PATCH] Improvements Simplify RUN_BASE Put .tests-stamp deps only for check target and fix its cleanup. Fix abs_top_srcdir. vgimportclone needs srcdir. Clean api subdir. --- WHATS_NEW | 1 + test/Makefile.in | 34 ++++++++++++++++++---------------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/WHATS_NEW b/WHATS_NEW index 4c5c25303..8dba1ffa2 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.89 - ================================== + Improve testing Makefile. Fix install_ocf make target when srcdir != builddir. (2.02.80) Support env vars LVM_CLVMD_BINARY and LVM_BINARY in clvmd. Fix restart of clvmd (preserve exlusive locks). (2.02.64) diff --git a/test/Makefile.in b/test/Makefile.in index 16b34c673..62f81c7c6 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2010 Red Hat, Inc. All rights reserved. +# Copyright (C) 2007-2011 Red Hat, Inc. All rights reserved. # # This file is part of LVM2. # @@ -31,7 +31,7 @@ S ?= @ # never match anything by default VERBOSE ?= 0 ALL = $(shell find $(srcdir) \( -name t-\*.sh -or -path */api/\*.sh \) | sort) RUN = $(shell find $(srcdir) -regextype posix-egrep \( -name t-\*.sh -or -path */api/\*.sh \) -and -regex "$(srcdir)/.*($(T)).*" -and -not -regex "$(srcdir)/.*($(S)).*" | sort) -RUN_BASE = $(shell echo $(RUN) | xargs -n 1 echo | sed -e s,^$(srcdir)/,,) +RUN_BASE = $(subst $(srcdir)/,,$(RUN)) # Shell quote; SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) @@ -40,7 +40,9 @@ ifeq ("@UDEV_SYNC@", "yes") dm_udev_synchronisation = 1 endif -all check: .tests-stamp +all: check + +check: .tests-stamp make -C api tests @echo Testing with locking_type 1 VERBOSE=$(VERBOSE) ./lib/harness $(RUN_BASE) @@ -71,7 +73,7 @@ lib/paths: $(srcdir)/Makefile.in .lib-dir-stamp rm -f $@-t echo 'top_srcdir=$(top_srcdir)' >> $@-t echo 'abs_top_builddir=$(abs_top_builddir)' >> $@-t - echo 'abs_top_srcdir=$(abs_top_builddir)' >> $@-t + echo 'abs_top_srcdir=$(abs_top_srcdir)' >> $@-t echo 'abs_srcdir=$(abs_srcdir)' >> $@-t echo 'abs_builddir=$(abs_builddir)' >> $@-t echo 'export DM_UDEV_SYNCHRONISATION=$(dm_udev_synchronisation)' >> $@-t @@ -81,35 +83,35 @@ LIB = lib/not lib/should lib/harness \ lib/check lib/aux lib/test lib/utils lib/get lib/lvm-wrapper \ lib/paths +CMDS = lvm $(shell cat $(top_builddir)/tools/.commands) + .tests-stamp: $(ALL) $(LIB) @if test "$(srcdir)" != . ; then \ echo "Copying tests to builddir."; \ for f in $(ALL); do cp $$f `echo $$f | sed -e s,^$(srcdir)/,,`; done; \ fi - touch .tests-stamp + touch $@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -.lib-dir-stamp: +.lib-dir-stamp: $(top_srcdir)/scripts/fsadm.sh mkdir -p lib - for i in lvm $$(cat ../tools/.commands); do \ - ln -fs lvm-wrapper lib/$$i; \ - done + for i in $(CMDS); do ln -fs lvm-wrapper lib/$$i; done ln -fs "$(abs_top_builddir)/tools/dmsetup" lib/dmsetup ln -fs "$(abs_top_builddir)/daemons/clvmd/clvmd" lib/clvmd ln -fs "$(abs_top_builddir)/daemons/dmeventd/dmeventd" lib/dmeventd ln -fs "$(abs_top_builddir)/daemons/lvmetad/lvmetad" lib/lvmetad - ln -fs "$(abs_top_builddir)/scripts/vgimportclone.sh" lib/vgimportclone - chmod +x "$(abs_top_builddir)/scripts/fsadm.sh" - ln -fs "$(abs_top_builddir)/scripts/fsadm.sh" lib/fsadm + ln -fs "$(abs_top_srcdir)/scripts/vgimportclone.sh" lib/vgimportclone + cp -f "$(top_srcdir)/scripts/fsadm.sh" lib/fsadm + @chmod +x lib/fsadm touch $@ clean: - for i in lvm $$(cat ../tools/.commands); do rm -f lib/$$i; done - if test "$(srcdir)" != . ; then rm -f $(subst $(srcdir)/, ,$(RUN)) lvm2app.sh ; fi + make -C api clean + test "$(srcdir)" != . && rm -f $(RUN_BASE) lvm2app.sh -CLEAN_TARGETS += .lib-dir-stamp .test-stamp $(LIB) \ - lib/dmsetup lib/clvmd lib/dmeventd lib/vgimportclone lib/fsadm +CLEAN_TARGETS += .lib-dir-stamp .tests-stamp $(LIB) $(addprefix lib/,$(CMDS)) \ + lib/clvmd lib/dmeventd lib/dmsetup lib/lvmetad lib/fsadm lib/vgimportclone .NOTPARALLEL: