mirror of
https://github.com/git/git.git
synced 2026-01-16 05:41:29 +00:00
It often is convenient to run only specific tests while still staying
at the toplevel (some failures only reproduce with particular allocation
patterns, for example). You can say
$ Meta/Make --test='1013 91??'
to run only test 1013 and 91xx series.
Similarly, you can give --locale=en_US.UTF-8 or somesuch; earlier we
always run tests in C locale for reproducibility, and the default
stays the same, but sometimes it is useful to run tests in different
locale.
108 lines
1.9 KiB
Bash
Executable File
108 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# DDD=' -DUSE_SYMLINK_HEAD=0'
|
|
# PATH=/usr/bin:/bin
|
|
|
|
G=/opt/packrat/playpen/public/in-place/git/index/gitweb_config.perl
|
|
for i in active maint master next
|
|
do
|
|
GIT="$HOME/git-$i/bin/git"
|
|
test -f "$GIT" && break
|
|
done
|
|
test -f "$GIT" || {
|
|
echo >&2 "No git to bootstrap"
|
|
}
|
|
PATH=/usr/bin:/bin
|
|
export PATH
|
|
|
|
LANG=C
|
|
old_style_def_fix=b79d18c92d9f4841a6a1a29b7b2373a8ff9871e1
|
|
|
|
head=`$GIT symbolic-ref HEAD 2>/dev/null` &&
|
|
branch=`expr "$head" : 'refs/heads/\(.*\)'` || branch=detached
|
|
|
|
case "$branch" in
|
|
next | maint | master | pu | jch)
|
|
prefix="$HOME/git-$branch"
|
|
;;
|
|
snap)
|
|
v=`$GIT describe HEAD`
|
|
expr "$v" : '.*-g[0-9a-f]*$' >/dev/null && {
|
|
echo >&2 "You are on 'snap' but $v is not an official version."
|
|
exit 1
|
|
}
|
|
prefix="$HOME/git-snap-$v"
|
|
;;
|
|
*)
|
|
prefix="$HOME/git-test" ;;
|
|
esac
|
|
d="prefix=$prefix"
|
|
|
|
: ${O=-O2}
|
|
|
|
Wall=-Wall tests=
|
|
while case $# in 0) break ;; esac
|
|
do
|
|
case "$1" in
|
|
-pedantic | --pedantic)
|
|
o= &&
|
|
rev=$($GIT rev-parse HEAD) &&
|
|
case "$($GIT merge-base "$old_style_def_fix" "$rev")" in
|
|
$old_style_def_fix)
|
|
o=-Wold-style-definition ;;
|
|
esac
|
|
O="$O -Werror $o -std=c99 -Wno-pointer-to-int-cast"
|
|
# O="$O -fwrapv -fno-strict-overflow"
|
|
;;
|
|
-loose | --loose)
|
|
Wall=
|
|
;;
|
|
--locale=*)
|
|
LANG=${1#*=}
|
|
;;
|
|
--test=*)
|
|
tests=$(
|
|
cd t &&
|
|
for t in ${1#*=}
|
|
do
|
|
eval echo "t$t-*.sh"
|
|
done | tr '\012' ' '
|
|
)
|
|
;;
|
|
--)
|
|
shift
|
|
break
|
|
;;
|
|
-*)
|
|
echo >&2 "Eh $1?"
|
|
exit 1
|
|
;;
|
|
*)
|
|
break
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
LC_ALL=$LANG
|
|
export LANG LC_ALL
|
|
|
|
sh -c 'git describe --abbrev=4 HEAD' >/dev/null 2>&1 || {
|
|
$GIT describe --abbrev=4 HEAD | sed -e 's/-/./g' >version
|
|
}
|
|
|
|
d="$d ASCIIDOC_NO_ROFF=YesPlease ASCIIDOC8=YesPlease"
|
|
|
|
CFLAGS="$O $Wall -Wdeclaration-after-statement -g"
|
|
|
|
make $d \
|
|
GITWEB_CONFIG=$G \
|
|
PYTHON_PATH=/usr/bin/python2.4 \
|
|
ETC_GITCONFIG=$prefix/etc/gitconfig \
|
|
CFLAGS="$CFLAGS" \
|
|
${tests:+"T=$tests"} \
|
|
"$@"
|
|
status=$?
|
|
rm -f version
|
|
exit $status
|