Skip to content

Commit ea2de83

Browse files
derrickstoleedscho
authored andcommitted
t5799: add test for all verb-specific cache-servers together
Test that all three verb-specific cache-server configs can be used simultaneously, each directing requests to a different server. This verifies that prefetch, get, and post verbs each respect their own override and don't interfere with each other.
1 parent 5cef3e7 commit ea2de83

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

t/t5799-gvfs-helper.sh

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1822,4 +1822,61 @@ test_expect_success 'verb-specific cache-server: get does NOT use gvfs.post.cach
18221822
verify_server_was_not_contacted 1
18231823
'
18241824

1825+
test_expect_success 'verb-specific cache-server: all verbs with different servers' '
1826+
test_when_finished "per_test_cleanup" &&
1827+
test_when_finished "git -C \"$REPO_T1\" config --unset gvfs.cache-server" &&
1828+
test_when_finished "git -C \"$REPO_T1\" config --unset gvfs.prefetch.cache-server" &&
1829+
test_when_finished "git -C \"$REPO_T1\" config --unset gvfs.get.cache-server" &&
1830+
test_when_finished "git -C \"$REPO_T1\" config --unset gvfs.post.cache-server" &&
1831+
start_gvfs_protocol_server 0 &&
1832+
start_gvfs_protocol_server 1 &&
1833+
start_gvfs_protocol_server 2 &&
1834+
start_gvfs_protocol_server 3 &&
1835+
1836+
# Configure each verb to use a different server:
1837+
# - server 0: default (unused in this test)
1838+
# - server 1: prefetch
1839+
# - server 2: get
1840+
# - server 3: post
1841+
git -C "$REPO_T1" config gvfs.cache-server "$(cache_server_url 0)" &&
1842+
git -C "$REPO_T1" config gvfs.prefetch.cache-server "$(cache_server_url 1)" &&
1843+
git -C "$REPO_T1" config gvfs.get.cache-server "$(cache_server_url 2)" &&
1844+
git -C "$REPO_T1" config gvfs.post.cache-server "$(cache_server_url 3)" &&
1845+
1846+
# Run prefetch - should go to server 1.
1847+
git -C "$REPO_T1" gvfs-helper \
1848+
--cache-server=trust \
1849+
--remote=origin \
1850+
--no-progress \
1851+
prefetch >OUT.output 2>OUT.stderr &&
1852+
verify_server_was_contacted 1 &&
1853+
verify_server_was_not_contacted 0 &&
1854+
verify_server_was_not_contacted 2 &&
1855+
verify_server_was_not_contacted 3 &&
1856+
1857+
# Clean up shared cache for next verb.
1858+
rm -rf "$SHARED_CACHE_T1"/pack/* &&
1859+
1860+
# Run get - should go to server 2.
1861+
git -C "$REPO_T1" gvfs-helper \
1862+
--cache-server=trust \
1863+
--remote=origin \
1864+
get \
1865+
<"$OID_ONE_BLOB_FILE" >OUT.output 2>OUT.stderr &&
1866+
verify_server_was_contacted 2 &&
1867+
1868+
# Clean up shared cache for next verb.
1869+
rm -rf "$SHARED_CACHE_T1"/[0-9a-f][0-9a-f]/ &&
1870+
rm -rf "$SHARED_CACHE_T1"/pack/* &&
1871+
1872+
# Run post - should go to server 3.
1873+
git -C "$REPO_T1" gvfs-helper \
1874+
--cache-server=trust \
1875+
--remote=origin \
1876+
--no-progress \
1877+
post \
1878+
<"$OIDS_BLOBS_FILE" >OUT.output 2>OUT.stderr &&
1879+
verify_server_was_contacted 3
1880+
'
1881+
18251882
test_done

0 commit comments

Comments
 (0)