From 455a7f3275d264f6e66045b92c83747ec461dda5 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 30 Sep 2005 13:31:16 -0700 Subject: [PATCH] More portability. - The location of openssl development files got customizable. - The location of iconv development files got customizable. - Pass $TAR down to t5000 test so that the user can override with 'gmake TAR=gtar'. - Solaris 'bc' does not seem to grok "define abs()". There is no reason to use bc there -- expr would do. Signed-off-by: Junio C Hamano --- Makefile | 20 +++++++++++++++++--- t/Makefile | 1 + t/t5000-tar-tree.sh | 6 +++--- t/t6002-rev-list-bisect.sh | 29 +++++++++++++---------------- 4 files changed, 34 insertions(+), 22 deletions(-) diff --git a/Makefile b/Makefile index 5648296a8d..e7f3d1ffca 100644 --- a/Makefile +++ b/Makefile @@ -200,18 +200,32 @@ endif ifndef NO_OPENSSL LIB_OBJS += epoch.o OPENSSL_LIBSSL = -lssl + ifdef OPENSSLDIR + # Again this may be problematic -- gcc does not always want -R. + CFLAGS += -I$(OPENSSLDIR)/include + OPENSSL_LINK = -L$(OPENSSLDIR)/lib -R$(OPENSSLDIR)/lib + else + OPENSSL_LINK = + endif else DEFINES += '-DNO_OPENSSL' MOZILLA_SHA1 = 1 OPENSSL_LIBSSL = endif ifdef NEEDS_SSL_WITH_CRYPTO - LIB_4_CRYPTO = -lcrypto -lssl + LIB_4_CRYPTO = $(OPENSSL_LINK) -lcrypto -lssl else - LIB_4_CRYPTO = -lcrypto + LIB_4_CRYPTO = $(OPENSSL_LINK) -lcrypto endif ifdef NEEDS_LIBICONV - LIB_4_ICONV = -liconv + ifdef ICONVDIR + # Again this may be problematic -- gcc does not always want -R. + CFLAGS += -I$(ICONVDIR)/include + ICONV_LINK = -L$(ICONVDIR)/lib -R$(ICONVDIR)/lib + else + ICONV_LINK = + endif + LIB_4_ICONV = $(ICONV_LINK) -liconv else LIB_4_ICONV = endif diff --git a/t/Makefile b/t/Makefile index a6b80882ce..e71da7782e 100644 --- a/t/Makefile +++ b/t/Makefile @@ -5,6 +5,7 @@ #GIT_TEST_OPTS=--verbose --debug SHELL_PATH ?= $(SHELL) +TAR ?= $(TAR) T = $(wildcard t[0-9][0-9][0-9][0-9]-*.sh) diff --git a/t/t5000-tar-tree.sh b/t/t5000-tar-tree.sh index 6bf34066e1..5dffb8e1e5 100755 --- a/t/t5000-tar-tree.sh +++ b/t/t5000-tar-tree.sh @@ -50,7 +50,7 @@ test_expect_success \ test_expect_success \ 'validate file modification time' \ - 'TZ=GMT tar tvf b.tar a/a | + 'TZ=GMT $TAR tvf b.tar a/a | awk \{print\ \$4,\ \(length\(\$5\)\<7\)\ ?\ \$5\":00\"\ :\ \$5\} \ >b.mtime && echo "2005-05-27 22:00:00" >expected.mtime && @@ -63,7 +63,7 @@ test_expect_success \ test_expect_success \ 'extract tar archive' \ - '(cd b && tar xf -) =0) { return (x); } else { return (-x); } -} -define floor(x) { - save=scale; scale=0; result=x/1; scale=save; return (result); -} -$* -EOF -} - # usage: test_bisection max-diff bisect-option head ^prune... # # e.g. test_bisection 1 --bisect l1 ^l0 @@ -35,8 +21,19 @@ test_bisection_diff() _head=$1 shift 1 _bisection_size=$(git-rev-list $_bisection "$@" | wc -l) - [ -n "$_list_size" -a -n "$_bisection_size" ] || error "test_bisection_diff failed" - test_expect_success "bisection diff $_bisect_option $_head $* <= $_max_diff" "[ $(bc_expr "floor(abs($_list_size/2)-$_bisection_size)") -le $_max_diff ]" + [ -n "$_list_size" -a -n "$_bisection_size" ] || + error "test_bisection_diff failed" + + # Test if bisection size is close to half of list size within + # tolerance. + # + _bisect_err=`expr $_list_size - $_bisection_size \* 2` + test "$_bisect_err" -lt 0 && _bisect_err=`expr 0 - $_bisect_err` + _bisect_err=`expr $_bisect_err / 2` ; # floor + + test_expect_success \ + "bisection diff $_bisect_option $_head $* <= $_max_diff" \ + 'test $_bisect_err -le $_max_diff' } date >path0