On Sep 1, 2017 5:35 PM, Andreas Reichel <[email protected]> wrote: > > From: Reichel Andreas <[email protected]> > > Per default, tests are now always compiled. > > To run tests, with the main Makefile, issue > * 'make check'. > > The Makefile in `tools/tests` is changed so that: > * `make all` and `make build-tests`: builds the tests > * `make run-tests`: runs the tests > > Signed-off-by: Andreas Reichel <[email protected]> > --- > Makefile.am | 15 ++++++++++++++- > docs/COMPILE.md | 6 +++++- > tools/tests/Makefile | 18 ++++++++++++++---- > 3 files changed, 33 insertions(+), 6 deletions(-) > > diff --git a/Makefile.am b/Makefile.am > index 747d14c..5ea928c 100644 > --- a/Makefile.am > +++ b/Makefile.am > @@ -36,6 +36,7 @@ ARFLAGS = cr > EXTRA_DIST = autogen.sh README LICENSE > CLEANFILES = > > +BUILD_TESTS = @build_tests@
Left over from last patchset? > # > # Static libraries > # > @@ -188,7 +189,19 @@ $(efi_loadername): $(efi_solib) > bg_printenv_DATA = bg_printenv > bg_printenvdir = $(top_srcdir) > > -bg_printenv: $(bg_setenv) > +bg_printenv: $(bg_setenv) build_tests Don't add this dependency here. Its better placed at the 'all' target. > $(LN_S) -f bg_setenv bg_printenv > > +build_tests: > + make -C tools/tests build-tests > + > +.PHONY: check > +check: > + make -C tools/tests run-tests > + > +clean-local: > + make -C tools/tests clean > + > CLEANFILES += bg_printenv > + > + > diff --git a/docs/COMPILE.md b/docs/COMPILE.md > index 51c2008..33faefd 100644 > --- a/docs/COMPILE.md > +++ b/docs/COMPILE.md > @@ -28,6 +28,8 @@ autoreconf -fi > make > ``` > > +This will also automatically run internal tests for the environment API. > + > To cross-compile, the environment variables must be set accordingly, i.e. > `CXX=<compiler-to-use>`. The following example shows how to specify needed > paths for an out-of-tree build, where cross-compilation environment variables > @@ -41,8 +43,10 @@ autoreconf -fi .. > --with-gnuefi-sys-dir=<sys-root-dir> \ > --with-gnuefi-include-dir=<sys-root-dir>/usr/include/efi \ > --with-gnuefi-lds-dir=<sys-root-dir>/usr/lib \ > - --with-gnuefi-lib-dir=<sys-root-dir>/usr/lib > + --with-gnuefi-lib-dir=<sys-root-dir>/usr/lib \ > + --disable-tests > make > ``` > > where `<sys-root-dir>` points to the wanted sysroot for cross-compilation. > +The option `--disable-tests` inhibits any test runs during compilation. > diff --git a/tools/tests/Makefile b/tools/tests/Makefile > index d52deaa..da12a61 100644 > --- a/tools/tests/Makefile > +++ b/tools/tests/Makefile > @@ -78,18 +78,28 @@ define WEAKEN_SYMBOLS = > $(foreach symbol,$(MOCKOBJS_SYMBOLS_$(1)-$(2)),$(call > WEAKEN_SYMBOL,$(symbol),$(1).o)) > endef > > -define TEST_TARGET_TEMPLATE = > +define TEST_TARGET_COMPILE_TEMPLATE = > $(1): $$(OBJS_$(1:.target=)) > $(foreach mockobj,$(MOCKOBJS_$(1:.target=)),$(call > WEAKEN_SYMBOLS,$(mockobj),$(1:.target=))) > $(CC) $$(OBJS_$(1:.target=):O=o) -o $(1:.target=) $(LIBS) > +endef > + > +define TEST_TARGET_RUN_TEMPLATE = > +$(1:.target=.run): $$(OBJS_$(1:.target=)) > ./$(1:.target=) > endef > > -.PHONY: clean all $(TEST_TARGETS) > +.PHONY: clean all $(TEST_TARGETS) build-tests run-tests > + > +all: build-tests > + > +build-tests: $(TEST_TARGETS) > + > +$(foreach test,$(TEST_TARGETS),$(eval $(call > TEST_TARGET_COMPILE_TEMPLATE,$(test)))) > > -all: $(TEST_TARGETS) > +run-tests: $(TEST_TARGETS:.target=.run) > > -$(foreach test,$(TEST_TARGETS),$(eval $(call TEST_TARGET_TEMPLATE,$(test)))) > +$(foreach test,$(TEST_TARGETS),$(eval $(call > TEST_TARGET_RUN_TEMPLATE,$(test)))) > > # Search for source files in current and parent directory > %.O: %.c > -- > 2.14.1 > > -- > You received this message because you are subscribed to the Google Groups > "EFI Boot Guard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/efibootguard-dev/20170901153549.11204-3-andreas.reichel.ext%40siemens.com. > > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "EFI Boot Guard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/efibootguard-dev/59acf55f.07611c0a.46c9f.8601SMTPIN_ADDED_MISSING%40gmr-mx.google.com. For more options, visit https://groups.google.com/d/optout.
