about summary refs log tree commit diff
path: root/third_party/git/t/interop
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/t/interop')
-rw-r--r--third_party/git/t/interop/.gitignore4
-rw-r--r--third_party/git/t/interop/Makefile16
-rw-r--r--third_party/git/t/interop/README85
-rwxr-xr-xthird_party/git/t/interop/i0000-basic.sh27
-rwxr-xr-xthird_party/git/t/interop/i5500-git-daemon.sh40
-rwxr-xr-xthird_party/git/t/interop/i5700-protocol-transition.sh68
-rw-r--r--third_party/git/t/interop/interop-lib.sh92
7 files changed, 0 insertions, 332 deletions
diff --git a/third_party/git/t/interop/.gitignore b/third_party/git/t/interop/.gitignore
deleted file mode 100644
index 49c78d3dba9d..000000000000
--- a/third_party/git/t/interop/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/trash directory*/
-/test-results/
-/.prove/
-/build/
diff --git a/third_party/git/t/interop/Makefile b/third_party/git/t/interop/Makefile
deleted file mode 100644
index 31a4bbc716aa..000000000000
--- a/third_party/git/t/interop/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
--include ../../config.mak
-export GIT_TEST_OPTIONS
-
-SHELL_PATH ?= $(SHELL)
-SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
-T = $(sort $(wildcard i[0-9][0-9][0-9][0-9]-*.sh))
-
-all: $(T)
-
-$(T):
-	@echo "*** $@ ***"; '$(SHELL_PATH_SQ)' $@ $(GIT_TEST_OPTS)
-
-clean:
-	rm -rf build "trash directory".* test-results
-
-.PHONY: all clean $(T)
diff --git a/third_party/git/t/interop/README b/third_party/git/t/interop/README
deleted file mode 100644
index 72d42bd85622..000000000000
--- a/third_party/git/t/interop/README
+++ /dev/null
@@ -1,85 +0,0 @@
-Git version interoperability tests
-==================================
-
-This directory has interoperability tests for git. Each script is
-similar to the normal test scripts found in t/, but with the added twist
-that two special versions of git, "git.a" and "git.b", are available in
-the PATH. Individual tests can then check the interaction between the
-two versions.
-
-When you add a feature that handles backwards compatibility between git
-versions, it's encouraged to add a test here to make sure it behaves as
-you expect.
-
-
-Running Tests
--------------
-
-The easiest way to run tests is to say "make".  This runs all
-the tests against their default versions.
-
-You can run a single test like:
-
-    $ ./i0000-basic.sh
-    ok 1 - bare git is forbidden
-    ok 2 - git.a version (v1.6.6.3)
-    ok 3 - git.b version (v2.11.1)
-    # passed all 3 test(s)
-    1..3
-
-Each test contains default versions to run against. You may override
-these by setting `GIT_TEST_VERSION_A` and `GIT_TEST_VERSION_B` in the
-environment. Note that not all combinations will give sensible outcomes
-for all tests (e.g., a test checking for a specific old/new interaction
-may want something "old" enough" and something "new" enough; see
-individual tests for details).
-
-Version names should be resolvable as revisions in the current
-repository. They will be exported and built as needed using the
-config.mak files found at the root of your working tree.
-
-The exception is the special version "." which uses the currently-built
-contents of your working tree.
-
-You can set the following variables (in the environment or in your config.mak):
-
-    GIT_INTEROP_MAKE_OPTS
-	Options to pass to `make` when building a git version (e.g.,
-	`-j8`).
-
-You can also pass any command-line options taken by ordinary git tests (e.g.,
-"-v").
-
-
-Naming Tests
-------------
-
-The interop test files are named like:
-
-	iNNNN-short-description.sh
-
-where N is a decimal digit.  The same conventions for choosing NNNN as
-for normal tests apply.
-
-
-Writing Tests
--------------
-
-An interop test script starts like a normal script, declaring a few
-variables and then including interop-lib.sh (which includes test-lib.sh).
-Besides test_description, you should also set the $VERSION_A and $VERSION_B
-variables to give the default versions to test against. See t0000-basic.sh for
-an example.
-
-You can then use test_expect_success as usual, with a few differences:
-
-  1. The special commands "git.a" and "git.b" correspond to the
-     two versions.
-
-  2. You cannot call a bare "git". This is to prevent accidents where
-     you meant "git.a" or "git.b".
-
-  3. The trash directory is _not_ a git repository by default. You
-     should create one with the appropriate version of git.
-
-At the end of the script, call test_done as usual.
diff --git a/third_party/git/t/interop/i0000-basic.sh b/third_party/git/t/interop/i0000-basic.sh
deleted file mode 100755
index 903e9193f8c3..000000000000
--- a/third_party/git/t/interop/i0000-basic.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-# Note that this test only works on real version numbers,
-# as it depends on matching the output to "git version".
-VERSION_A=v1.6.6.3
-VERSION_B=v2.11.1
-
-test_description='sanity test interop library'
-. ./interop-lib.sh
-
-test_expect_success 'bare git is forbidden' '
-	test_must_fail git version
-'
-
-test_expect_success "git.a version ($VERSION_A)" '
-	echo git version ${VERSION_A#v} >expect &&
-	git.a version >actual &&
-	test_cmp expect actual
-'
-
-test_expect_success "git.b version ($VERSION_B)" '
-	echo git version ${VERSION_B#v} >expect &&
-	git.b version >actual &&
-	test_cmp expect actual
-'
-
-test_done
diff --git a/third_party/git/t/interop/i5500-git-daemon.sh b/third_party/git/t/interop/i5500-git-daemon.sh
deleted file mode 100755
index 4d22e42f8422..000000000000
--- a/third_party/git/t/interop/i5500-git-daemon.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/sh
-
-VERSION_A=.
-VERSION_B=v1.0.0
-
-: ${LIB_GIT_DAEMON_PORT:=5500}
-LIB_GIT_DAEMON_COMMAND='git.a daemon'
-
-test_description='clone and fetch by older client'
-. ./interop-lib.sh
-. "$TEST_DIRECTORY"/lib-git-daemon.sh
-
-start_git_daemon --export-all
-
-repo=$GIT_DAEMON_DOCUMENT_ROOT_PATH/repo
-
-test_expect_success "create repo served by $VERSION_A" '
-	git.a init "$repo" &&
-	git.a -C "$repo" commit --allow-empty -m one
-'
-
-test_expect_success "clone with $VERSION_B" '
-	git.b clone "$GIT_DAEMON_URL/repo" child &&
-	echo one >expect &&
-	git.a -C child log -1 --format=%s >actual &&
-	test_cmp expect actual
-'
-
-test_expect_success "fetch with $VERSION_B" '
-	git.a -C "$repo" commit --allow-empty -m two &&
-	(
-		cd child &&
-		git.b fetch
-	) &&
-	echo two >expect &&
-	git.a -C child log -1 --format=%s FETCH_HEAD >actual &&
-	test_cmp expect actual
-'
-
-test_done
diff --git a/third_party/git/t/interop/i5700-protocol-transition.sh b/third_party/git/t/interop/i5700-protocol-transition.sh
deleted file mode 100755
index 97e8e580efeb..000000000000
--- a/third_party/git/t/interop/i5700-protocol-transition.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/sh
-
-VERSION_A=.
-VERSION_B=v2.0.0
-
-: ${LIB_GIT_DAEMON_PORT:=5700}
-LIB_GIT_DAEMON_COMMAND='git.b daemon'
-
-test_description='clone and fetch by client who is trying to use a new protocol'
-. ./interop-lib.sh
-. "$TEST_DIRECTORY"/lib-git-daemon.sh
-
-start_git_daemon --export-all
-
-repo=$GIT_DAEMON_DOCUMENT_ROOT_PATH/repo
-
-test_expect_success "create repo served by $VERSION_B" '
-	git.b init "$repo" &&
-	git.b -C "$repo" commit --allow-empty -m one
-'
-
-test_expect_success "git:// clone with $VERSION_A and protocol v1" '
-	GIT_TRACE_PACKET=1 git.a -c protocol.version=1 clone "$GIT_DAEMON_URL/repo" child 2>log &&
-	git.a -C child log -1 --format=%s >actual &&
-	git.b -C "$repo" log -1 --format=%s >expect &&
-	test_cmp expect actual &&
-	grep "version=1" log
-'
-
-test_expect_success "git:// fetch with $VERSION_A and protocol v1" '
-	git.b -C "$repo" commit --allow-empty -m two &&
-	git.b -C "$repo" log -1 --format=%s >expect &&
-
-	GIT_TRACE_PACKET=1 git.a -C child -c protocol.version=1 fetch 2>log &&
-	git.a -C child log -1 --format=%s FETCH_HEAD >actual &&
-
-	test_cmp expect actual &&
-	grep "version=1" log &&
-	! grep "version 1" log
-'
-
-stop_git_daemon
-
-test_expect_success "create repo served by $VERSION_B" '
-	git.b init parent &&
-	git.b -C parent commit --allow-empty -m one
-'
-
-test_expect_success "file:// clone with $VERSION_A and protocol v1" '
-	GIT_TRACE_PACKET=1 git.a -c protocol.version=1 clone --upload-pack="git.b upload-pack" parent child2 2>log &&
-	git.a -C child2 log -1 --format=%s >actual &&
-	git.b -C parent log -1 --format=%s >expect &&
-	test_cmp expect actual &&
-	! grep "version 1" log
-'
-
-test_expect_success "file:// fetch with $VERSION_A and protocol v1" '
-	git.b -C parent commit --allow-empty -m two &&
-	git.b -C parent log -1 --format=%s >expect &&
-
-	GIT_TRACE_PACKET=1 git.a -C child2 -c protocol.version=1 fetch --upload-pack="git.b upload-pack" 2>log &&
-	git.a -C child2 log -1 --format=%s FETCH_HEAD >actual &&
-
-	test_cmp expect actual &&
-	! grep "version 1" log
-'
-
-test_done
diff --git a/third_party/git/t/interop/interop-lib.sh b/third_party/git/t/interop/interop-lib.sh
deleted file mode 100644
index 3e0a2911d4f9..000000000000
--- a/third_party/git/t/interop/interop-lib.sh
+++ /dev/null
@@ -1,92 +0,0 @@
-# Interoperability testing framework. Each script should source
-# this after setting default $VERSION_A and $VERSION_B variables.
-
-. ../../GIT-BUILD-OPTIONS
-INTEROP_ROOT=$(pwd)
-BUILD_ROOT=$INTEROP_ROOT/build
-
-build_version () {
-	if test -z "$1"
-	then
-		echo >&2 "error: test script did not set default versions"
-		return 1
-	fi
-
-	if test "$1" = "."
-	then
-		git rev-parse --show-toplevel
-		return 0
-	fi
-
-	sha1=$(git rev-parse "$1^{tree}") || return 1
-	dir=$BUILD_ROOT/$sha1
-
-	if test -e "$dir/.built"
-	then
-		echo "$dir"
-		return 0
-	fi
-
-	echo >&2 "==> Building $1..."
-
-	mkdir -p "$dir" || return 1
-
-	(cd "$(git rev-parse --show-cdup)" && git archive --format=tar "$sha1") |
-	(cd "$dir" && tar x) ||
-	return 1
-
-	for config in config.mak config.mak.autogen config.status
-	do
-		if test -e "$INTEROP_ROOT/../../$config"
-		then
-			cp "$INTEROP_ROOT/../../$config" "$dir/" || return 1
-		fi
-	done
-
-	(
-		cd "$dir" &&
-		make $GIT_INTEROP_MAKE_OPTS >&2 &&
-		touch .built
-	) || return 1
-
-	echo "$dir"
-}
-
-# Old versions of git don't have bin-wrappers, so let's give a rough emulation.
-wrap_git () {
-	write_script "$1" <<-EOF
-	GIT_EXEC_PATH="$2"
-	export GIT_EXEC_PATH
-	PATH="$2:\$PATH"
-	export GIT_EXEC_PATH
-	exec git "\$@"
-	EOF
-}
-
-generate_wrappers () {
-	mkdir -p .bin &&
-	wrap_git .bin/git.a "$DIR_A" &&
-	wrap_git .bin/git.b "$DIR_B" &&
-	write_script .bin/git <<-\EOF &&
-	echo >&2 fatal: test tried to run generic git
-	exit 1
-	EOF
-	PATH=$(pwd)/.bin:$PATH
-}
-
-VERSION_A=${GIT_TEST_VERSION_A:-$VERSION_A}
-VERSION_B=${GIT_TEST_VERSION_B:-$VERSION_B}
-
-if ! DIR_A=$(build_version "$VERSION_A") ||
-   ! DIR_B=$(build_version "$VERSION_B")
-then
-	echo >&2 "fatal: unable to build git versions"
-	exit 1
-fi
-
-TEST_DIRECTORY=$INTEROP_ROOT/..
-TEST_OUTPUT_DIRECTORY=$INTEROP_ROOT
-TEST_NO_CREATE_REPO=t
-. "$TEST_DIRECTORY"/test-lib.sh
-
-generate_wrappers || die "unable to set up interop test environment"