Merge branch 'sr/tests'
* sr/tests: Hook up the result aggregation in the test makefile. A simple script to parse the results from the testcases Modify test-lib.sh to output stats to t/test-results/* Conflicts: t/test-lib.sh
This commit is contained in:
commit
e4403d8bd3
12
t/Makefile
12
t/Makefile
@ -14,18 +14,24 @@ 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: $(T) clean
|
||||
all: pre-clean $(T) aggregate-results clean
|
||||
|
||||
$(T):
|
||||
@echo "*** $@ ***"; GIT_CONFIG=.git/config '$(SHELL_PATH_SQ)' $@ $(GIT_TEST_OPTS)
|
||||
|
||||
pre-clean:
|
||||
$(RM) -r test-results
|
||||
|
||||
clean:
|
||||
$(RM) -r 'trash directory'
|
||||
$(RM) -r 'trash directory' test-results
|
||||
|
||||
aggregate-results:
|
||||
./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
|
||||
|
||||
.PHONY: $(T) clean
|
||||
.PHONY: pre-clean $(T) aggregate-results clean
|
||||
.NOTPARALLEL:
|
||||
|
34
t/aggregate-results.sh
Executable file
34
t/aggregate-results.sh
Executable file
@ -0,0 +1,34 @@
|
||||
#!/bin/sh
|
||||
|
||||
fixed=0
|
||||
success=0
|
||||
failed=0
|
||||
broken=0
|
||||
total=0
|
||||
|
||||
for file
|
||||
do
|
||||
while read type value
|
||||
do
|
||||
case $type in
|
||||
'')
|
||||
continue ;;
|
||||
fixed)
|
||||
fixed=$(($fixed + $value)) ;;
|
||||
success)
|
||||
success=$(($success + $value)) ;;
|
||||
failed)
|
||||
failed=$(($failed + $value)) ;;
|
||||
broken)
|
||||
broken=$(( $broken + $value)) ;;
|
||||
total)
|
||||
total=$(( $total + $value)) ;;
|
||||
esac
|
||||
done <"$file"
|
||||
done
|
||||
|
||||
printf "%-8s%d\n" fixed $fixed
|
||||
printf "%-8s%d\n" success $success
|
||||
printf "%-8s%d\n" failed $failed
|
||||
printf "%-8s%d\n" broken $broken
|
||||
printf "%-8s%d\n" total $total
|
@ -154,6 +154,7 @@ test_failure=0
|
||||
test_count=0
|
||||
test_fixed=0
|
||||
test_broken=0
|
||||
test_success=0
|
||||
|
||||
die () {
|
||||
echo >&5 "FATAL: Unexpected exit with code $?"
|
||||
@ -195,6 +196,7 @@ test_tick () {
|
||||
|
||||
test_ok_ () {
|
||||
test_count=$(expr "$test_count" + 1)
|
||||
test_success=$(expr "$test_success" + 1)
|
||||
say_color "" " ok $test_count: $@"
|
||||
}
|
||||
|
||||
@ -413,6 +415,16 @@ test_create_repo () {
|
||||
|
||||
test_done () {
|
||||
trap - exit
|
||||
test_results_dir="$TEST_DIRECTORY/test-results"
|
||||
mkdir -p "$test_results_dir"
|
||||
test_results_path="$test_results_dir/${0%-*}-$$"
|
||||
|
||||
echo "total $test_count" >> $test_results_path
|
||||
echo "success $test_success" >> $test_results_path
|
||||
echo "fixed $test_fixed" >> $test_results_path
|
||||
echo "broken $test_broken" >> $test_results_path
|
||||
echo "failed $test_failure" >> $test_results_path
|
||||
echo "" >> $test_results_path
|
||||
|
||||
if test "$test_fixed" != 0
|
||||
then
|
||||
@ -447,7 +459,8 @@ test_done () {
|
||||
|
||||
# Test the binaries we have just built. The tests are kept in
|
||||
# t/ subdirectory and are run in 'trash directory' subdirectory.
|
||||
PATH=$(pwd)/..:$PATH
|
||||
TEST_DIRECTORY=$(pwd)
|
||||
PATH=$TEST_DIRECTORY/..:$PATH
|
||||
GIT_EXEC_PATH=$(pwd)/..
|
||||
GIT_TEMPLATE_DIR=$(pwd)/../templates/blt
|
||||
unset GIT_CONFIG
|
||||
|
Loading…
Reference in New Issue
Block a user