t1700: new tests for split-index mode
[gitweb.git] / t / t5537-fetch-shallow.sh
index 098f220bbee8905989862ef57a5af4391b02d58c..be951a46797c6b88d2a8d420cf160ea4f3ad71b0 100755 (executable)
@@ -178,6 +178,7 @@ if test -n "$NO_CURL" -o -z "$GIT_TEST_HTTPD"; then
        test_done
 fi
 
+LIB_HTTPD_PORT=${LIB_HTTPD_PORT-'5537'}
 . "$TEST_DIRECTORY"/lib-httpd.sh
 start_httpd
 
@@ -199,34 +200,17 @@ EOF
        )
 '
 
-# This test is tricky. We need large enough "have"s that fetch-pack
-# will put pkt-flush in between. Then we need a "have" the server
-# does not have, it'll send "ACK %s ready"
-test_expect_success 'no shallow lines after receiving ACK ready' '
-       (
-               cd shallow &&
-               for i in $(test_seq 10)
-               do
-                       git checkout --orphan unrelated$i &&
-                       test_commit unrelated$i &&
-                       git push -q "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" \
-                               refs/heads/unrelated$i:refs/heads/unrelated$i &&
-                       git push -q ../clone/.git \
-                               refs/heads/unrelated$i:refs/heads/unrelated$i ||
-                       exit 1
-               done &&
-               git checkout master &&
-               test_commit new &&
-               git push  "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" master
-       ) &&
-       (
-               cd clone &&
-               git checkout --orphan newnew &&
-               test_commit new-too &&
-               GIT_TRACE_PACKET="$TRASH_DIRECTORY/trace" git fetch --depth=2 &&
-               grep "fetch-pack< ACK .* ready" ../trace &&
-               ! grep "fetch-pack> done" ../trace
-       )
+test_expect_success POSIXPERM,SANITY 'shallow fetch from a read-only repo' '
+       cp -R .git read-only.git &&
+       find read-only.git -print | xargs chmod -w &&
+       test_when_finished "find read-only.git -type d -print | xargs chmod +w" &&
+       git clone --no-local --depth=2 read-only.git from-read-only &&
+       git --git-dir=from-read-only/.git log --format=%s >actual &&
+       cat >expect <<EOF &&
+add-1-back
+4
+EOF
+       test_cmp expect actual
 '
 
 stop_httpd