[PATCH v2 4/8] metadata: test.sh: Add support for building out-of-tree
Petr Vorel <[email protected]>
| Newsgroups | gmane.linux.ltp |
|---|---|
| Message-ID | <[email protected]> |
NOTE out-of-tree build is supported only from the top level directory, otherwise it requires to set METAPARSEDIR variable by user (similarly to other tests run via testcases/lib/run_tests.sh). Signed-off-by: Petr Vorel <[email protected]> --- Changes v1->v2: * Fix out of tree build * Try to detect out-of-tree build without specifying variable LTP running internal testing is implemented for every directory differently. It would be nice to unify it. Also much of the complexity is done by out-of-tree part. I really wish one day we migrate to meson (which is faster, support out-of-tree modules and de facto standard for userspace nowadays). Makefile | 2 +- metadata/Makefile | 2 +- metadata/tests/test.sh | 11 ++++++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index f1b59609a5..2efbe8c6c0 100644 --- a/Makefile +++ b/Makefile @@ -213,7 +213,7 @@ test-metadata: metadata-all ifneq ($(build),$(host)) $(error running tests on cross-compile build not supported) endif - $(MAKE) -C $(abs_srcdir)/metadata test + METAPARSEDIR=$(abs_builddir)/metadata $(MAKE) -C $(abs_srcdir)/metadata test MODULE_DIRS := $(shell \ dirname $$(grep -l 'include.*module\.mk' $$(find $(abs_srcdir)/testcases/ -type f -name 'Makefile'))) diff --git a/metadata/Makefile b/metadata/Makefile index 7e4ee38d2e..af194bcc94 100644 --- a/metadata/Makefile +++ b/metadata/Makefile @@ -16,6 +16,6 @@ ltp.json: metaparse metaparse-sh $(abs_srcdir)/parse.sh > ltp.json test: metaparse metaparse-sh - $(MAKE) -C $(abs_srcdir)/tests/ test + METAPARSEDIR=$$METAPARSEDIR $(MAKE) -C tests/ test include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/metadata/tests/test.sh b/metadata/tests/test.sh index a9ebc768f9..89a7857ad2 100755 --- a/metadata/tests/test.sh +++ b/metadata/tests/test.sh @@ -2,9 +2,18 @@ fail=0 +METAPARSE="${METAPARSEDIR:-..}/metaparse" + +cd "${SRCDIR:-.}" + +if [ ! -x "$METAPARSE" ]; then + echo "Error: $METAPARSE not found (wrong PATH? out-of-tree build without specifying \$METAPARSEDIR?)" >&2 + exit 1 +fi + for i in *.c; do printf "* $i " - ../metaparse $i > tmp.json + $METAPARSE $i > tmp.json if ! diff tmp.json $i.json >/dev/null 2>&1; then echo '[FAIL]' echo "$i output differs!" -- 2.54.0 -- Mailing list info: https://lists.linux.it/listinfo/ltp