all:
# List all subdirectories here. Each contains its own Makefile.local
-subdirs = compat completion emacs lib
+subdirs = compat completion emacs lib test
# We make all targets depend on the Makefiles themselves.
global_deps = Makefile Makefile.config Makefile.local \
-# Run tests
-#
-# Copyright (c) 2005 Junio C Hamano
-#
+# See Makfefile.local for the list of files to be compiled in this
+# directory.
+all:
+ $(MAKE) -C .. all
--include ../config.mak
-
-#GIT_TEST_OPTS=--verbose --debug
-SHELL=/bin/bash
-SHELL_PATH ?= $(SHELL)
-TAR ?= $(TAR)
-RM ?= rm -f
-
-# Shell quote;
-SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
-
-T = $(wildcard t[0-9][0-9][0-9][0-9]-*.sh)
-TSVN = $(wildcard t91[0-9][0-9]-*.sh)
-
-all: pre-clean
- $(MAKE) aggregate-results-and-cleanup
-
-$(T):
- @echo "*** $@ ***"; GIT_CONFIG=.git/config '$(SHELL_PATH_SQ)' $@ $(GIT_TEST_OPTS)
-
-pre-clean:
- $(RM) -r test-results
-
-clean:
- $(RM) -r 'trash directory'.* test-results
- $(RM) t????/cvsroot/CVSROOT/?*
- $(RM) -r valgrind/bin
-
-aggregate-results-and-cleanup: $(T)
- $(MAKE) aggregate-results
- $(MAKE) clean
-
-aggregate-results:
- '$(SHELL_PATH_SQ)' ./aggregate-results.sh test-results/t*-*
-
-# we can test NO_OPTIMIZE_COMMITS independently of LC_ALL
-full-svn-test:
- $(MAKE) $(TSVN) GIT_SVN_NO_OPTIMIZE_COMMITS=1 LC_ALL=C
- $(MAKE) $(TSVN) GIT_SVN_NO_OPTIMIZE_COMMITS=0 LC_ALL=en_US.UTF-8
-
-valgrind:
- GIT_TEST_OPTS=--valgrind $(MAKE)
-
-.PHONY: pre-clean $(T) aggregate-results clean valgrind
+.DEFAULT:
+ $(MAKE) -C .. $@
-#!/bin/bash
+#!/bin/sh
-cd $(dirname $0)
-make
+# Run tests
+#
+# Copyright (c) 2005 Junio C Hamano
+#
+# Adapted from a Makefile to a shell script by Carl Worth (2010)
+
+cd $(dirname "$0")
+
+# Clean up any results from a previous run
+rm -r test-results >/dev/null 2>/dev/null
+
+# Run the tests
+for test in t[0-9][0-9][0-9][0-9]*.sh; do
+ ./"$test"
+done
+
+# Report results
+./aggregate-results.sh test-results/t*-*
+
+# Clean up
+rm -r test-results