mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
Cleanup test makefiles
Simplify /api makefile and use SUBDIRS target for test dir. Properly cleanup Makefiles with distclean in /test. Use symbolic links for shell scripts for non-srcdir compilation.
This commit is contained in:
parent
4b795cc3a0
commit
4b42d7ae98
@ -36,7 +36,7 @@ endif
|
||||
ifeq ($(MAKECMDGOALS),distclean)
|
||||
SUBDIRS = doc include man scripts \
|
||||
lib tools daemons libdm \
|
||||
udev po liblvm test/api test \
|
||||
udev po liblvm test \
|
||||
unit-tests/datastruct unit-tests/mm unit-tests/regex
|
||||
endif
|
||||
DISTCLEAN_DIRS += lcov_reports*
|
||||
|
@ -1,5 +1,6 @@
|
||||
Version 2.02.89 -
|
||||
==================================
|
||||
Use gcc warning options only with .c to .o compilation.
|
||||
Move y/n prompts to stderr and repeat if response has both 'n' and 'y'.
|
||||
Replace the unit testing framework with CUnit (--enable-testing).
|
||||
Fix dmeventd snapshot monitoring when multiple extensions were involved.
|
||||
|
@ -12,10 +12,9 @@
|
||||
|
||||
#TEST_OPTS=--verbose --debug
|
||||
SHELL_PATH ?= $(SHELL)
|
||||
TAR ?= $(TAR)
|
||||
RM ?= rm -f
|
||||
|
||||
subdir := $(shell pwd|sed 's,.*/,,')
|
||||
subdir = $(shell pwd|sed 's,.*/,,')
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
@ -24,6 +23,9 @@ abs_srcdir = @abs_srcdir@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
|
||||
SUBDIRS = api unit
|
||||
|
||||
include $(top_builddir)/make.tmpl
|
||||
|
||||
T ?= .
|
||||
@ -43,24 +45,16 @@ endif
|
||||
all: check
|
||||
|
||||
check: .tests-stamp
|
||||
@echo "Running API (liblvm2app) tests"
|
||||
make -C api tests
|
||||
ifeq ("$(TESTING)", "yes")
|
||||
@echo Running unit tests
|
||||
make unit
|
||||
endif
|
||||
@echo Testing with locking_type 1
|
||||
VERBOSE=$(VERBOSE) ./lib/harness $(RUN_BASE)
|
||||
@echo Testing with locking_type 3
|
||||
VERBOSE=$(VERBOSE) LVM_TEST_LOCKING=3 ./lib/harness $(RUN_BASE)
|
||||
|
||||
check_cluster: .tests-stamp
|
||||
make -C api tests
|
||||
@echo Testing with locking_type 3
|
||||
VERBOSE=$(VERBOSE) LVM_TEST_LOCKING=3 ./lib/harness $(RUN_BASE)
|
||||
|
||||
check_local: .tests-stamp
|
||||
make -C api tests
|
||||
@echo Testing with locking_type 1
|
||||
VERBOSE=$(VERBOSE) LVM_TEST_LOCKING=1 ./lib/harness $(RUN_BASE)
|
||||
|
||||
@ -75,7 +69,7 @@ lib/%: $(srcdir)/lib/%.sh .lib-dir-stamp
|
||||
chmod +x $@
|
||||
|
||||
lib/paths: $(srcdir)/Makefile.in .lib-dir-stamp
|
||||
rm -f $@-t
|
||||
$(RM) $@-t
|
||||
echo 'top_srcdir=$(top_srcdir)' >> $@-t
|
||||
echo 'abs_top_builddir=$(abs_top_builddir)' >> $@-t
|
||||
echo 'abs_top_srcdir=$(abs_top_srcdir)' >> $@-t
|
||||
@ -90,39 +84,34 @@ LIB = lib/not lib/should lib/harness \
|
||||
|
||||
CMDS = lvm $(shell cat $(top_builddir)/tools/.commands)
|
||||
|
||||
.tests-stamp: $(ALL) $(LIB)
|
||||
mkdir -p shell
|
||||
.tests-stamp: $(ALL) $(LIB) $(SUBDIRS)
|
||||
@if test "$(srcdir)" != . ; then \
|
||||
echo "Copying tests to builddir."; \
|
||||
for f in $(ALL); do cp $$f `echo $$f | sed -e s,^$(srcdir)/,,`; done; \
|
||||
echo "Linking tests to builddir."; \
|
||||
$(MKDIR_P) shell; \
|
||||
for f in $(subst $(srcdir)/,,$(ALL)); do \
|
||||
ln -sf $(abs_top_srcdir)/test/$$f $$f; \
|
||||
done; \
|
||||
fi
|
||||
touch $@
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
|
||||
.lib-dir-stamp: $(top_srcdir)/scripts/fsadm.sh
|
||||
mkdir -p lib
|
||||
.lib-dir-stamp:
|
||||
$(MKDIR_P) lib
|
||||
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_srcdir)/scripts/vgimportclone.sh" lib/vgimportclone
|
||||
cp -f "$(top_srcdir)/scripts/fsadm.sh" lib/fsadm
|
||||
@chmod +x lib/fsadm
|
||||
ln -fs "$(abs_top_srcdir)/scripts/fsadm.sh" lib/fsadm
|
||||
touch $@
|
||||
|
||||
clean:
|
||||
make -C api clean
|
||||
test "$(srcdir)" != . && rm -f $(RUN_BASE) lvm2app.sh
|
||||
|
||||
.PHONY: unit
|
||||
|
||||
unit:
|
||||
make -C unit $(@)
|
||||
test "$(srcdir)" != . && $(RM) $(RUN_BASE) lvm2app.sh
|
||||
|
||||
CLEAN_TARGETS += .lib-dir-stamp .tests-stamp $(LIB) $(addprefix lib/,$(CMDS)) \
|
||||
lib/clvmd lib/dmeventd lib/dmsetup lib/lvmetad lib/fsadm lib/vgimportclone
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
|
||||
.NOTPARALLEL:
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2009 Red Hat, Inc. All rights reserved.
|
||||
# Copyright (C) 2009-2011 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This file is part of LVM2.
|
||||
#
|
||||
@ -15,53 +15,26 @@ srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
top_builddir = @top_builddir@
|
||||
|
||||
ifeq ("@DEBUG@", "yes")
|
||||
DEFS += -DDEBUG
|
||||
endif
|
||||
|
||||
TARGETS =
|
||||
TARGETS =
|
||||
ifeq ("@APPLIB@", "yes")
|
||||
TARGETS += test
|
||||
test_SOURCES = test.c
|
||||
wrapper_SOURCES = test.c
|
||||
INCLUDES += -I../../include
|
||||
SOURCES = test.c
|
||||
|
||||
TARGETS += vgtest.t percent.t pe_start.t
|
||||
endif
|
||||
|
||||
LVMLIBS = @LVM2APP_LIB@ -ldevmapper
|
||||
DEPLIBS = $(top_builddir)/liblvm/liblvm2app.so $(top_builddir)/libdm/libdevmapper.so
|
||||
|
||||
DEFS += -D_REENTRANT
|
||||
|
||||
include $(top_builddir)/make.tmpl
|
||||
|
||||
LDFLAGS = -L$(top_builddir)/libdm -L$(top_builddir)/liblvm
|
||||
|
||||
ifeq ("@DMEVENTD@", "yes")
|
||||
LVMLIBS += -ldevmapper-event
|
||||
LDFLAGS += -L$(top_builddir)/daemons/dmeventd
|
||||
endif
|
||||
|
||||
test_OBJECTS = $(test_SOURCES:.c=.o)
|
||||
wrapper_OBJECTS = $(wrapper_SOURCES:.c=.o)
|
||||
OBJECTS = $(test_OBJECTS)
|
||||
|
||||
all: tests
|
||||
|
||||
tests: $(TARGETS)
|
||||
|
||||
test: $(test_OBJECTS) $(DEPLIBS)
|
||||
$(CC) -o test $(test_OBJECTS) $(CFLAGS) $(LDFLAGS) $(LVMLIBS) $(LIBS) $(READLINE_LIBS)
|
||||
DEFS += -D_REENTRANT
|
||||
DEPLIBS += $(top_builddir)/liblvm/liblvm2app.so $(top_builddir)/libdm/libdevmapper.so
|
||||
LDFLAGS += -L$(top_builddir)/liblvm
|
||||
LVMLIBS = @LVM2APP_LIB@ -ldevmapper $(LIBS)
|
||||
|
||||
%.t: %.o $(DEPLIBS)
|
||||
$(CC) -o $@ $(<) $(CFLAGS) $(LDFLAGS) $(LVMLIBS) $(LIBS)
|
||||
$(CC) -o $@ $(<) $(LDFLAGS) $(LVMLIBS)
|
||||
|
||||
wrapper: $(wrapper_OBJECTS) $(DEPLIBS)
|
||||
$(CC) -o wrapper $(wrapper_OBJECTS) $(CFLAGS) $(LDFLAGS) $(LVMLIBS) $(LIBS) -lreadline
|
||||
test: $(OBJECTS) $(DEPLIBS)
|
||||
$(CC) -o $@ $(OBJECTS) $(LDFLAGS) $(LVMLIBS) $(READLINE_LIBS)
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status test/api/Makefile
|
||||
|
||||
clean:
|
||||
rm -f *.t
|
||||
|
@ -13,13 +13,18 @@
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
top_builddir = @top_builddir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
VPATH = $(srcdir)
|
||||
SOURCES = bitset_t.c matcher_t.c run.c
|
||||
TARGETS = run
|
||||
|
||||
include $(top_builddir)/make.tmpl
|
||||
LDFLAGS += -ldevmapper -lcunit
|
||||
|
||||
unit: run
|
||||
LD_LIBRARY_PATH=$(top_builddir)/libdm ./run
|
||||
ifeq ("$(TESTING)", "yes")
|
||||
all: unit
|
||||
endif
|
||||
|
||||
unit: $(TARGETS)
|
||||
@echo Running unit tests
|
||||
LD_LIBRARY_PATH=$(top_builddir)/libdm ./$(TARGETS)
|
||||
|
Loading…
Reference in New Issue
Block a user