[libvirt] [PATCH 04/41] build: use a common rule for checking augeas test data files
Andrea Bolognani
abologna at redhat.com
Fri Jul 26 10:50:15 UTC 2019
On Fri, 2019-07-26 at 10:23 +0100, Daniel P. Berrangé wrote:
> On Fri, Jul 26, 2019 at 11:18:03AM +0200, Andrea Bolognani wrote:
> > On Tue, 2019-07-23 at 17:02 +0100, Daniel P. Berrangé wrote:
> > [...]
> > > +AUG_TEST_NAMES = $(subst /,-, $(augeastest_DATA))
> > >
> > > check-local: check-augeas
> > >
> > > -check-augeas: $(AUGEAS_DIRS:%=check-augeas-%)
> > > +check-augeas: $(AUG_TEST_NAMES:%=check-augeas-%)
> > > +
> > > +check-augeas-%: $(augeas_DATA) $(augeastest_DATA)
> > > + $(AM_V_GEN)export FILE=`echo $* | sed -e 's/.*-//'`; \
> > > + export DIR=`echo $* | sed -e 's/-.*//'`; \
> > > + if test -x '$(AUGPARSE)'; then \
> > > + '$(AUGPARSE)' -I $(srcdir)/$$DIR -I $(builddir)/$$DIR $$DIR/$$FILE; \
> > > + fi
> >
> > How about we skip the double conversion steps and just do
> >
> > check-augeas: $(augeas_DATA) $(augeastest_DATA)
> > $(AM_V_GEN) \
> > if test -x "$(AUGPARSE)"; then \
> > for f in $(augeastest_DATA); do \
> > DIR=$$(dirname "$$f"); \
> > FILE=$$(basename "$$f"); \
> > "$(AUGPARSE)" \
> > -I "$(srcdir)/$$DIR" -I "$(builddir)/$$DIR" \
> > "$$DIR/$$FILE"; \
> > done; \
> > fi
> > .PHONY: check-augeas
> >
> > instead? As an added bonus, this version avoids doing any work if
> > augparse is not available and is correctly marked as PHONY, which
> > the rules you're replacing also were.
>
> This doesn't show any output for the files - I wanted to see the
> make output for each file being checked, as its a useful confirmation
> that we're actually processing the files we expect to have.
That's only a couple small tweaks away:
check-augeas: $(augeas_DATA) $(augeastest_DATA)
@if test -x "$(AUGPARSE)"; then \
for f in $(augeastest_DATA); do \
DIR=$$(dirname "$$f"); \
FILE=$$(basename "$$f"); \
echo "AUGPARSE $$f"; \
"$(AUGPARSE)" \
-I "$(srcdir)/$$DIR" -I "$(builddir)/$$DIR" \
"$$DIR/$$FILE"; \
done; \
fi
.PHONY: check-augeas
This version even results in a more accurate output, as we're not
really generating the files but rather validating them.
--
Andrea Bolognani / Red Hat / Virtualization
More information about the libvir-list
mailing list