msxbuild/lib/make/mb_assert.mk
Willem Cazander 8a07c9de8d
All checks were successful
Run test asserts / Test-Asserts (push) Successful in -2s
Moved all eval over own function for argument validation.
2024-07-07 23:26:47 +02:00

39 lines
1.8 KiB
Makefile

define __mb_assert_flow_grep_binary
$(1)/@assert-$(2): $(1)/@build
grep -q -U $(4) $(1)/$(3)
$$(call mb_make_call,mb_make_echo_assert,Assert succesfully @assert-$(2))
$$(call mb_make_call,mb_doc_target,$(1)/@assert-$(2),"Asserts that $(3) output matches.")
MB_PROJ_PHASE_TEST_DEPS += $(1)/@assert-$(2)
.PHONY: $(1)/@assert-$(2)
endef
define mb_assert_flow_grep_binary
$(if $(1),,$(error Argument 1 missing))
$(if $(2),,$(error Argument 2 missing))
$(if $(3),,$(error Argument 3 missing))
$(if $(4),,$(error Argument 4 missing))
$(eval $(call mb_make_call,__mb_assert_flow_grep_binary,$(1),$(2),$(3),$(4)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_assert_flow_grep_binary,"Prints flow of single binary grep assert.","<build-dir> <test-id> <file> <grep-match>")
#$$(call mb_delete,$(1)/$(3).out)
define __mb_assert_flow_bdos_grep
$(1)-test-$(2)/@assert: $(1)/@build
$$(call mb_make_call,mb_os_dir_create,$(1)-test-$(2))
$$(call mb_make_call,mb_os_file_copy,$(1)/$(3).com,$(1)-test-$(2))
$$(call mb_make_call,mb_msxpipe_safe_test,$(1)-test-$(2),$(3) > $(3).out)
grep -q $(4) $(1)-test-$(2)/$(3).out
$$(call mb_make_call,mb_make_echo_assert,Assert succesfully $(1)-test-$(2)/@assert)
$$(call mb_make_call,mb_doc_target,$(1)-test-$(2)/@assert,"Asserts that $(3) output matches.")
MB_PROJ_PHASE_TEST_DEPS += $(1)-test-$(2)/@assert
.PHONY: $(1)-test-$(2)/@assert
endef
define mb_assert_flow_bdos_grep
$(if $(1),,$(error mb_assert_flow_bdos_grep: Argument 1 missing))
$(if $(2),,$(error Argument 2 missing))
$(if $(3),,$(error Argument 3 missing))
$(if $(4),,$(error Argument 4 missing))
$(eval $(call mb_make_call,__mb_assert_flow_bdos_grep,$(1),$(2),$(3),$(4)))
endef
$(call mb_make_call,mb_doc_function_flow,mb_assert_flow_bdos_grep,"Prints flow of single grep assert.","<build-dir> <test-id> <cmd-name> <grep-match>")