diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:49:46 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:49:46 +0000 |
commit | 50b37d4a27d3295a29afca2286f1a5a086142cec (patch) | |
tree | 9212f763934ee090ef72d823f559f52ce387f268 /src/tests/modules/all.mk | |
parent | Initial commit. (diff) | |
download | freeradius-upstream/3.2.1+dfsg.tar.xz freeradius-upstream/3.2.1+dfsg.zip |
Adding upstream version 3.2.1+dfsg.upstream/3.2.1+dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/tests/modules/all.mk')
-rw-r--r-- | src/tests/modules/all.mk | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/tests/modules/all.mk b/src/tests/modules/all.mk new file mode 100644 index 0000000..9960df7 --- /dev/null +++ b/src/tests/modules/all.mk @@ -0,0 +1,40 @@ +# +# Find the subdirs which have "all.mk" +# +TEST_SUBDIRS := $(patsubst src/tests/modules/%/all.mk,%,$(wildcard src/tests/modules/*/all.mk)) + +# +# Find out which of those have a similar target. i.e. modules/foo -> rlm_foo.la +# +TEST_TARGETS := $(foreach x,$(TEST_SUBDIRS),$(findstring rlm_$x.la,$(ALL_TGTS))) + +TEST_BUILT := $(patsubst rlm_%.la,%,$(TEST_TARGETS)) + +# +# Ensure that the tests depend on the module, so that changes to the +# module will re-run the test +# +$(foreach x,$(TEST_BUILT),$(eval $x.test: rlm_$x.la)) + +###################################################################### + +# +# And do the same thing for sub-directories +# +TEST_SUBSUBDIRS := $(patsubst src/tests/modules/%/all.mk,%,$(wildcard src/tests/modules/*/*/all.mk)) + +TEST_SUBTARGETS := $(foreach x,$(TEST_SUBSUBDIRS),$(findstring rlm_$(subst /,_,$x).la,$(ALL_TGTS))) + +TEST_SUBBUILT := $(patsubst rlm_%.la,%,$(TEST_SUBTARGETS)) + +$(foreach x,$(TEST_SUBBUILT),$(eval $x.test: rlm_$(subst /,_,$x).la)) + +###################################################################### +# +# For the remaining subdirs, add on the directory to include. +# test.mk will run the tests for all modules +# It is included last so that the module specific makefiles can be processed first +# (modules that require a test server can set the corresponding require_test_server variable) +# +SUBMAKEFILES := $(addsuffix /all.mk,$(TEST_BUILT) $(subst _,/,$(TEST_SUBBUILT))) test.mk + |