Makefile 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # Makefile for running test unit
  2. #
  3. TESTS_FILES ?= $(wildcard *.sh)
  4. TESTS_EXCLUDE ?=
  5. TESTS ?= $(filter-out $(patsubst %,%.sh,$(TESTS_EXCLUDE)), $(TESTS_FILES))
  6. # run all tests
  7. all:
  8. @for FILE in $(TESTS) ; do \
  9. if [ -f $$FILE ] ; then \
  10. if [ -x $$FILE ] ; then \
  11. echo "Run test `basename $$FILE .sh`:" `head -n 2 "$$FILE" | tail -n 1 | cut -c 3-` ; \
  12. ./$$FILE ; \
  13. ret=$$? ; \
  14. if [ ! "$$ret" -eq 0 ] ; then \
  15. echo "Test unit file $$FILE: failed" ; \
  16. else \
  17. echo "Test unit file $$FILE: ok" ; \
  18. fi ; \
  19. fi ; \
  20. fi ; \
  21. done ; \
  22. exit $$RES;
  23. # run one test specified in variable UNIT
  24. # example: make UNIT=1.sh run
  25. run:
  26. -@if [ -f $(UNIT) ] ; then \
  27. if [ -x $(UNIT) ] ; then \
  28. echo "Run test `basename $(UNIT) .sh`:" `head -n 2 "$(UNIT)" | tail -n 1 | cut -c 3-` ; \
  29. ./$(UNIT) ; \
  30. ret=$$? ; \
  31. if [ ! "$$ret" -eq 0 ] ; then \
  32. echo "Test unit file $(UNIT): failed" ; \
  33. else \
  34. echo "Test unit file $(UNIT): ok" ; \
  35. fi ; \
  36. fi ; \
  37. else \
  38. echo "Test unit file $(UNIT): not found" ; \
  39. fi ;