diff --git a/Makefile b/Makefile index 2f28be3..53ea414 100644 --- a/Makefile +++ b/Makefile @@ -10,14 +10,42 @@ # # # **************************************************************************** # -#LIBDIR = ../repo_libft_algarra -LIBDIR = ../repo_algarra +LIBDIR = ../repo_libft_algarra +#LIBDIR = ../repo_algarra #CFLAGS += -Wall -Wextra -Werror -g3 -fsanitize=address CFLAGS += -Wall -Wextra -Werror -g3 -iquote $(LIBDIR) -L$(LIBDIR) -lft TESTS:= isalpha_test isdigit_test isalnum_test isascii_test -all: $(TESTS) +%_actual.output : %_test + ./$*_test > ./$*_actual.output ; + +#%_report : %_test %_actual.output +# $(shell diff -a $*_expected.output $*_actual.output > $*_report ) + +%_report : %_test %_actual.output + -(diff -a $*_expected.output $*_actual.output && echo "Test OK") > $*_report + +EXES = $(TESTS) + +ACT_OUTPUTS = $(TESTS:_test=_actual.output) + +ACT_REPORTS = $(TESTS:_test=_report) + +.SECONDARY = $(ACT_REPORTS) $(ACT_OUTPUTS) + +report : $(EXES) $(ACT_OUTPUTS) $(ACT_REPORTS) + rm -f report ; + $(foreach E, $(TESTS), \ + $(eval T = $(subst _test,,$(E))) \ + $(eval R = $(subst _test,_report,$(E))) \ + echo "=== $(T) ===" >> report ; \ + cat $(R) >> report ; \ + ) + + + +#all: $(TESTS) #build_output: all # $(foreach E, $(TESTS), \ @@ -36,11 +64,14 @@ all: $(TESTS) # echo "$(E) $(.SHELLSTATUS) - $(R) \n" \ # ) # + fclean: $(foreach E, $(TESTS), \ $(eval A = $(subst _test,_actual.output,$(E))) \ - rm -f $(E) $(A); \ + $(eval R = $(subst _test,_report,$(E))) \ + rm -f $(E) $(A) $(R) \ ) + rm -f report #runmal: # $(foreach E, $(TESTS), \ @@ -52,13 +83,13 @@ fclean: # ##foo: TESTS -%_actual.output : %_test - ./$*_test > ./$*_actual.output - echo ha intentado generar actual - -run_%: %_actual.output - $(shell diff -a $*_expected.output $*_actual.output ) - $(info $(.SHELLSTATUS)) - $(let R , $(intcmp 0, $(.SHELLSTATUS), ok, nok), $(info $(R))) - +#%_actual.output : %_test +# ./$*_test > ./$*_actual.output +# echo ha intentado generar actual +# +#run_%: %_actual.output +# $(shell diff -a $*_expected.output $*_actual.output ) +# $(info $(.SHELLSTATUS)) +# $(let R , $(intcmp 0, $(.SHELLSTATUS), ok, nok), $(info $(R))) +#