mirror of
https://github.com/git/git.git
synced 2026-01-11 21:33:13 +09:00
Makefile: detect missing Meson tests
In the preceding commit, we have introduced consistency checks to Meson to detect any discrepancies with missing or extraneous tests in its build instructions. These checks only get executed in Meson though, so any users of our Makefiles wouldn't be alerted of the fact that they have to modify the Meson build instructions in case they add or remove any tests. Add a comparable test target to our Makefile to plug this gap. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
0ed1512141
commit
154ce05cce
18
t/Makefile
18
t/Makefile
@ -59,7 +59,7 @@ CHAINLINTSUPPRESS = GIT_TEST_EXT_CHAIN_LINT=0 && export GIT_TEST_EXT_CHAIN_LINT
|
||||
|
||||
all:: $(DEFAULT_TEST_TARGET)
|
||||
|
||||
test: pre-clean check-chainlint $(TEST_LINT)
|
||||
test: pre-clean check-chainlint check-meson $(TEST_LINT)
|
||||
$(CHAINLINTSUPPRESS) $(MAKE) aggregate-results-and-cleanup
|
||||
|
||||
failed:
|
||||
@ -114,6 +114,22 @@ check-chainlint:
|
||||
{ $(CHAINLINT) --emit-all '$(CHAINLINTTMP_SQ)'/tests >'$(CHAINLINTTMP_SQ)'/actual || true; } && \
|
||||
diff -u '$(CHAINLINTTMP_SQ)'/expect '$(CHAINLINTTMP_SQ)'/actual
|
||||
|
||||
check-meson:
|
||||
@# awk acts up when trying to match single quotes, so we use \047 instead.
|
||||
@printf "%s\n" \
|
||||
"integration_tests t[0-9][0-9][0-9][0-9]-*.sh" \
|
||||
"unit_test_programs unit-tests/t-*.c" \
|
||||
"clar_test_suites unit-tests/u-*.c" | \
|
||||
while read -r variable pattern; do \
|
||||
meson_tests=$$(awk "/^$$variable = \[\$$/ {flag=1 ; next } /^]$$/ { flag=0 } flag { gsub(/^ \047/, \"\"); gsub(/\047,\$$/, \"\"); print }" meson.build) && \
|
||||
actual_tests=$$(ls $$pattern) && \
|
||||
if test "$$meson_tests" != "$$actual_tests"; then \
|
||||
echo "Meson tests differ from actual tests:"; \
|
||||
diff -u <(echo "$$meson_tests") <(echo "$$actual_tests"); \
|
||||
exit 1; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
test-lint: test-lint-duplicates test-lint-executable test-lint-shell-syntax \
|
||||
test-lint-filenames
|
||||
ifneq ($(GIT_TEST_CHAIN_LINT),0)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user