build: List the units inside a file

This avoids trying to run test-conformance -l multiple times.
This commit is contained in:
Emmanuele Bassi 2010-09-13 02:01:50 +01:00
parent c03458a861
commit 40af71fad7

View File

@ -85,12 +85,13 @@ test_conformance_SOURCES = $(common_sources) $(units_sources)
# For convenience, this provides a way to easily run individual unit tests: # For convenience, this provides a way to easily run individual unit tests:
.PHONY: wrappers clean-wrappers .PHONY: wrappers clean-wrappers
UNIT_TESTS = `./test-conformance -l -m thorough | $(GREP) '^/'` #UNIT_TESTS = `./test-conformance -l -m thorough | $(GREP) '^/'`
wrappers: stamp-test-conformance wrappers: stamp-test-conformance
@true @true
stamp-test-conformance: Makefile test-conformance$(EXEEXT) stamp-test-conformance: Makefile test-conformance$(EXEEXT)
@mkdir -p wrappers @mkdir -p wrappers
@( ./test-conformance$(EXEEXT) -l -m thorough | $(GREP) '^/' ) > unit-tests
@chmod +x test-launcher.sh @chmod +x test-launcher.sh
@( echo "/stamp-test-conformance" ; \ @( echo "/stamp-test-conformance" ; \
echo "/test-conformance" ; \ echo "/test-conformance" ; \
@ -98,8 +99,9 @@ stamp-test-conformance: Makefile test-conformance$(EXEEXT)
echo "*.o" ; \ echo "*.o" ; \
echo "*.xml" ; \ echo "*.xml" ; \
echo ".gitignore" ; \ echo ".gitignore" ; \
echo "unit-tests" ; \
echo "/wrappers/" ) > .gitignore echo "/wrappers/" ) > .gitignore
@for i in $(UNIT_TESTS); \ @for i in `cat unit-tests`; \
do \ do \
unit=`basename $$i | sed -e s/_/-/g`; \ unit=`basename $$i | sed -e s/_/-/g`; \
echo " GEN $$unit"; \ echo " GEN $$unit"; \
@ -112,13 +114,14 @@ stamp-test-conformance: Makefile test-conformance$(EXEEXT)
&& echo timestamp > $(@F) && echo timestamp > $(@F)
clean-wrappers: clean-wrappers:
@for i in $(UNIT_TESTS); \ @for i in `cat unit-tests`; \
do \ do \
unit=`basename $$i | sed -e s/_/-/g`; \ unit=`basename $$i | sed -e s/_/-/g`; \
echo " RM $$unit"; \ echo " RM $$unit"; \
rm -f $$unit$(EXEEXT) ; \ rm -f $$unit$(EXEEXT) ; \
rm -f wrappers/$$unit$(EXEEXT) ; \ rm -f wrappers/$$unit$(EXEEXT) ; \
done \ done \
&& rm -f unit-tests \
&& rm -f stamp-test-conformance && rm -f stamp-test-conformance
# NB: BUILT_SOURCES here a misnomer. We aren't building source, just inserting # NB: BUILT_SOURCES here a misnomer. We aren't building source, just inserting