Merge branch 'ew/git-svn-http-tests'
Tests for "git svn" have been taught to reuse the lib-httpd test infrastructure when testing the subversion integration that interacts with subversion repositories served over the http:// protocol. * ew/git-svn-http-tests: git svn: migrate tests to use lib-httpd t/t91*: do not say how to avoid the testsmaint
						commit
						612c3dfb06
					
				|  | @ -65,81 +65,22 @@ svn_cmd () { | ||||||
| 	svn "$orig_svncmd" --config-dir "$svnconf" "$@" | 	svn "$orig_svncmd" --config-dir "$svnconf" "$@" | ||||||
| } | } | ||||||
|  |  | ||||||
| prepare_httpd () { | maybe_start_httpd () { | ||||||
| 	for d in \ | 	loc=${1-svn} | ||||||
| 		"$SVN_HTTPD_PATH" \ |  | ||||||
| 		/usr/sbin/apache2 \ |  | ||||||
| 		/usr/sbin/httpd \ |  | ||||||
| 	; do |  | ||||||
| 		if test -f "$d" |  | ||||||
| 		then |  | ||||||
| 			SVN_HTTPD_PATH="$d" |  | ||||||
| 			break |  | ||||||
| 		fi |  | ||||||
| 	done |  | ||||||
| 	if test -z "$SVN_HTTPD_PATH" |  | ||||||
| 	then |  | ||||||
| 		echo >&2 '*** error: Apache not found' |  | ||||||
| 		return 1 |  | ||||||
| 	fi |  | ||||||
| 	for d in \ |  | ||||||
| 		"$SVN_HTTPD_MODULE_PATH" \ |  | ||||||
| 		/usr/lib/apache2/modules \ |  | ||||||
| 		/usr/libexec/apache2 \ |  | ||||||
| 	; do |  | ||||||
| 		if test -d "$d" |  | ||||||
| 		then |  | ||||||
| 			SVN_HTTPD_MODULE_PATH="$d" |  | ||||||
| 			break |  | ||||||
| 		fi |  | ||||||
| 	done |  | ||||||
| 	if test -z "$SVN_HTTPD_MODULE_PATH" |  | ||||||
| 	then |  | ||||||
| 		echo >&2 '*** error: Apache module dir not found' |  | ||||||
| 		return 1 |  | ||||||
| 	fi |  | ||||||
| 	if test ! -f "$SVN_HTTPD_MODULE_PATH/mod_dav_svn.so" |  | ||||||
| 	then |  | ||||||
| 		echo >&2 '*** error: Apache module "mod_dav_svn" not found' |  | ||||||
| 		return 1 |  | ||||||
| 	fi |  | ||||||
|  |  | ||||||
| 	repo_base_path="${1-svn}" | 	test_tristate GIT_SVN_TEST_HTTPD | ||||||
| 	mkdir "$GIT_DIR"/logs | 	case $GIT_SVN_TEST_HTTPD in | ||||||
|  | 	true) | ||||||
| 	cat > "$GIT_DIR/httpd.conf" <<EOF | 		. "$TEST_DIRECTORY"/lib-httpd.sh | ||||||
| ServerName "git svn test" | 		LIB_HTTPD_SVN="$loc" | ||||||
| ServerRoot "$GIT_DIR" | 		start_httpd | ||||||
| DocumentRoot "$GIT_DIR" | 		;; | ||||||
| PidFile "$GIT_DIR/httpd.pid" | 	*) | ||||||
| LockFile logs/accept.lock | 		stop_httpd () { | ||||||
| Listen 127.0.0.1:$SVN_HTTPD_PORT | 			: noop | ||||||
| LoadModule dav_module $SVN_HTTPD_MODULE_PATH/mod_dav.so | 		} | ||||||
| LoadModule dav_svn_module $SVN_HTTPD_MODULE_PATH/mod_dav_svn.so | 		;; | ||||||
| <Location /$repo_base_path> | 	esac | ||||||
| 	DAV svn |  | ||||||
| 	SVNPath "$rawsvnrepo" |  | ||||||
| </Location> |  | ||||||
| EOF |  | ||||||
| } |  | ||||||
|  |  | ||||||
| start_httpd () { |  | ||||||
| 	if test -z "$SVN_HTTPD_PORT" |  | ||||||
| 	then |  | ||||||
| 		echo >&2 'SVN_HTTPD_PORT is not defined!' |  | ||||||
| 		return |  | ||||||
| 	fi |  | ||||||
|  |  | ||||||
| 	prepare_httpd "$1" || return 1 |  | ||||||
|  |  | ||||||
| 	"$SVN_HTTPD_PATH" -f "$GIT_DIR"/httpd.conf -k start |  | ||||||
| 	svnrepo="http://127.0.0.1:$SVN_HTTPD_PORT/$repo_base_path" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| stop_httpd () { |  | ||||||
| 	test -z "$SVN_HTTPD_PORT" && return |  | ||||||
| 	test ! -f "$GIT_DIR/httpd.conf" && return |  | ||||||
| 	"$SVN_HTTPD_PATH" -f "$GIT_DIR"/httpd.conf -k stop |  | ||||||
| } | } | ||||||
|  |  | ||||||
| convert_to_rev_db () { | convert_to_rev_db () { | ||||||
|  |  | ||||||
|  | @ -24,7 +24,7 @@ | ||||||
| #    LIB_HTTPD_MODULE_PATH       web server modules path | #    LIB_HTTPD_MODULE_PATH       web server modules path | ||||||
| #    LIB_HTTPD_PORT              listening port | #    LIB_HTTPD_PORT              listening port | ||||||
| #    LIB_HTTPD_DAV               enable DAV | #    LIB_HTTPD_DAV               enable DAV | ||||||
| #    LIB_HTTPD_SVN               enable SVN | #    LIB_HTTPD_SVN               enable SVN at given location (e.g. "svn") | ||||||
| #    LIB_HTTPD_SSL               enable SSL | #    LIB_HTTPD_SSL               enable SSL | ||||||
| # | # | ||||||
| # Copyright (c) 2008 Clemens Buchacher <drizzd@aon.at> | # Copyright (c) 2008 Clemens Buchacher <drizzd@aon.at> | ||||||
|  | @ -162,8 +162,10 @@ prepare_httpd() { | ||||||
| 		if test -n "$LIB_HTTPD_SVN" | 		if test -n "$LIB_HTTPD_SVN" | ||||||
| 		then | 		then | ||||||
| 			HTTPD_PARA="$HTTPD_PARA -DSVN" | 			HTTPD_PARA="$HTTPD_PARA -DSVN" | ||||||
| 			rawsvnrepo="$HTTPD_ROOT_PATH/svnrepo" | 			LIB_HTTPD_SVNPATH="$rawsvnrepo" | ||||||
| 			svnrepo="http://127.0.0.1:$LIB_HTTPD_PORT/svn" | 			svnrepo="http://127.0.0.1:$LIB_HTTPD_PORT/" | ||||||
|  | 			svnrepo="$svnrepo$LIB_HTTPD_SVN" | ||||||
|  | 			export LIB_HTTPD_SVN LIB_HTTPD_SVNPATH | ||||||
| 		fi | 		fi | ||||||
| 	fi | 	fi | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -208,8 +208,8 @@ RewriteRule ^/half-auth-complete/ - [E=AUTHREQUIRED:yes] | ||||||
| <IfDefine SVN> | <IfDefine SVN> | ||||||
| 	LoadModule dav_svn_module modules/mod_dav_svn.so | 	LoadModule dav_svn_module modules/mod_dav_svn.so | ||||||
|  |  | ||||||
| 	<Location /svn> | 	<Location /${LIB_HTTPD_SVN}> | ||||||
| 		DAV svn | 		DAV svn | ||||||
| 		SVNPath svnrepo | 		SVNPath "${LIB_HTTPD_SVNPATH}" | ||||||
| 	</Location> | 	</Location> | ||||||
| </IfDefine> | </IfDefine> | ||||||
|  |  | ||||||
|  | @ -8,8 +8,6 @@ GIT_SVN_LC_ALL=${LC_ALL:-$LANG} | ||||||
|  |  | ||||||
| . ./lib-git-svn.sh | . ./lib-git-svn.sh | ||||||
|  |  | ||||||
| say 'define NO_SVN_TESTS to skip git svn tests' |  | ||||||
|  |  | ||||||
| case "$GIT_SVN_LC_ALL" in | case "$GIT_SVN_LC_ALL" in | ||||||
| *.UTF-8) | *.UTF-8) | ||||||
| 	test_set_prereq UTF8 | 	test_set_prereq UTF8 | ||||||
|  |  | ||||||
|  | @ -8,9 +8,10 @@ test_description='git svn dcommit can commit renames of files with ugly names' | ||||||
| . ./lib-git-svn.sh | . ./lib-git-svn.sh | ||||||
|  |  | ||||||
| test_expect_success 'load repository with strange names' ' | test_expect_success 'load repository with strange names' ' | ||||||
| 	svnadmin load -q "$rawsvnrepo" < "$TEST_DIRECTORY"/t9115/funky-names.dump && | 	svnadmin load -q "$rawsvnrepo" <"$TEST_DIRECTORY"/t9115/funky-names.dump | ||||||
| 	start_httpd gtk+ | ' | ||||||
| 	' |  | ||||||
|  | maybe_start_httpd gtk+ | ||||||
|  |  | ||||||
| test_expect_success 'init and fetch repository' ' | test_expect_success 'init and fetch repository' ' | ||||||
| 	git svn init "$svnrepo" && | 	git svn init "$svnrepo" && | ||||||
|  |  | ||||||
|  | @ -32,7 +32,7 @@ test_expect_success 'setup svnrepo' ' | ||||||
| 			"$svnrepo/pr ject/branches/trailing_dotlock.lock" && | 			"$svnrepo/pr ject/branches/trailing_dotlock.lock" && | ||||||
| 	svn_cmd cp -m "reflog" "$svnrepo/pr ject/trunk" \ | 	svn_cmd cp -m "reflog" "$svnrepo/pr ject/trunk" \ | ||||||
| 			"$svnrepo/pr ject/branches/not-a@{0}reflog@" && | 			"$svnrepo/pr ject/branches/not-a@{0}reflog@" && | ||||||
| 	start_httpd | 	maybe_start_httpd | ||||||
| 	' | 	' | ||||||
|  |  | ||||||
| # SVN 1.7 will truncate "not-a%40{0]" to just "not-a". | # SVN 1.7 will truncate "not-a%40{0]" to just "not-a". | ||||||
|  |  | ||||||
|  | @ -15,7 +15,7 @@ test_expect_success 'setup svnrepo' ' | ||||||
| 	svn_cmd cp -m "tag" "$svnrepo/pr ject/trunk" \ | 	svn_cmd cp -m "tag" "$svnrepo/pr ject/trunk" \ | ||||||
| 	  "$svnrepo/pr ject/tags/v1" && | 	  "$svnrepo/pr ject/tags/v1" && | ||||||
| 	rm -rf project && | 	rm -rf project && | ||||||
| 	start_httpd | 	maybe_start_httpd | ||||||
| ' | ' | ||||||
|  |  | ||||||
| test_expect_success 'test clone with percent escapes' ' | test_expect_success 'test clone with percent escapes' ' | ||||||
|  |  | ||||||
|  | @ -18,7 +18,7 @@ test_expect_success 'setup test repository' ' | ||||||
| 		svn_cmd add foo && | 		svn_cmd add foo && | ||||||
| 		svn_cmd commit -m "add foo" | 		svn_cmd commit -m "add foo" | ||||||
| 	) && | 	) && | ||||||
| 	start_httpd | 	maybe_start_httpd | ||||||
| ' | ' | ||||||
|  |  | ||||||
| test_expect_success 'clone trunk with "-r HEAD"' ' | test_expect_success 'clone trunk with "-r HEAD"' ' | ||||||
|  |  | ||||||
|  | @ -7,8 +7,6 @@ test_description='git svn mergeinfo propagation' | ||||||
|  |  | ||||||
| . ./lib-git-svn.sh | . ./lib-git-svn.sh | ||||||
|  |  | ||||||
| say 'define NO_SVN_TESTS to skip git svn tests' |  | ||||||
|  |  | ||||||
| test_expect_success 'initialize source svn repo' ' | test_expect_success 'initialize source svn repo' ' | ||||||
| 	svn_cmd mkdir -m x "$svnrepo"/trunk && | 	svn_cmd mkdir -m x "$svnrepo"/trunk && | ||||||
| 	svn_cmd co "$svnrepo"/trunk "$SVN_TREE" && | 	svn_cmd co "$svnrepo"/trunk "$SVN_TREE" && | ||||||
|  |  | ||||||
|  | @ -11,7 +11,6 @@ local Git repository with placeholder files.' | ||||||
|  |  | ||||||
| . ./lib-git-svn.sh | . ./lib-git-svn.sh | ||||||
|  |  | ||||||
| say 'define NO_SVN_TESTS to skip git svn tests' |  | ||||||
| GIT_REPO=git-svn-repo | GIT_REPO=git-svn-repo | ||||||
|  |  | ||||||
| test_expect_success 'initialize source svn repo containing empty dirs' ' | test_expect_success 'initialize source svn repo containing empty dirs' ' | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue