Skip to content

Commit cf83243

Browse files
pcloudsgitster
authored andcommitted
t1510: setup case #17
Signed-off-by: Nguyễn Thái Ngọc Duy <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent af62cc1 commit cf83243

File tree

1 file changed

+129
-0
lines changed

1 file changed

+129
-0
lines changed

t/t1510-repo-setup.sh

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2360,4 +2360,133 @@ EOF
23602360
test_repo 16/sub
23612361
'
23622362

2363+
#
2364+
# case #17.1
2365+
#
2366+
############################################################
2367+
#
2368+
# Input:
2369+
#
2370+
# - GIT_WORK_TREE is set
2371+
# - GIT_DIR is not set
2372+
# - core.worktree is not set
2373+
# - .git is a directory
2374+
# - cwd is inside .git
2375+
#
2376+
# Output:
2377+
#
2378+
# GIT_WORK_TREE is ignored -> #16.1 (with warnings perhaps)
2379+
2380+
test_expect_success '#17.1: setup' '
2381+
unset GIT_DIR GIT_WORK_TREE &&
2382+
mkdir 17 17/sub &&
2383+
cd 17 &&
2384+
git init &&
2385+
mkdir .git/wt .git/wt/sub &&
2386+
GIT_WORK_TREE=non-existent &&
2387+
export GIT_WORK_TREE &&
2388+
cd ..
2389+
'
2390+
2391+
test_expect_failure '#17.1: at .git' '
2392+
cat >17/.git/expected <<EOF &&
2393+
setup: git_dir: .
2394+
setup: worktree: (null)
2395+
setup: cwd: $TRASH_DIRECTORY/17/.git
2396+
setup: prefix: (null)
2397+
EOF
2398+
test_repo 17/.git
2399+
'
2400+
2401+
test_expect_failure '#17.1: in .git/wt' '
2402+
cat >17/.git/wt/expected <<EOF &&
2403+
setup: git_dir: $TRASH_DIRECTORY/17/.git
2404+
setup: worktree: (null)
2405+
setup: cwd: $TRASH_DIRECTORY/17/.git/wt
2406+
setup: prefix: (null)
2407+
EOF
2408+
test_repo 17/.git/wt
2409+
'
2410+
2411+
test_expect_failure '#17.1: in .git/wt/sub' '
2412+
cat >17/.git/wt/sub/expected <<EOF &&
2413+
setup: git_dir: $TRASH_DIRECTORY/17/.git
2414+
setup: worktree: (null)
2415+
setup: cwd: $TRASH_DIRECTORY/17/.git/wt/sub
2416+
setup: prefix: (null)
2417+
EOF
2418+
test_repo 17/.git/wt/sub
2419+
'
2420+
2421+
#
2422+
# case #17.2
2423+
#
2424+
############################################################
2425+
#
2426+
# Input:
2427+
#
2428+
# - GIT_WORK_TREE is set
2429+
# - GIT_DIR is not set
2430+
# - core.worktree is not set
2431+
# - .git is a directory
2432+
# - core.bare is set
2433+
#
2434+
# Output:
2435+
#
2436+
# GIT_WORK_TREE is ignored -> #16.2 (with warnings perhaps)
2437+
2438+
test_expect_success '#17.2: setup' '
2439+
git config --file="$TRASH_DIRECTORY/17/.git/config" core.bare true
2440+
'
2441+
2442+
test_expect_failure '#17.2: at .git' '
2443+
cat >17/.git/expected <<EOF &&
2444+
setup: git_dir: .
2445+
setup: worktree: (null)
2446+
setup: cwd: $TRASH_DIRECTORY/17/.git
2447+
setup: prefix: (null)
2448+
EOF
2449+
test_repo 17/.git
2450+
'
2451+
2452+
test_expect_failure '#17.2: in .git/wt' '
2453+
cat >17/.git/wt/expected <<EOF &&
2454+
setup: git_dir: $TRASH_DIRECTORY/17/.git
2455+
setup: worktree: (null)
2456+
setup: cwd: $TRASH_DIRECTORY/17/.git/wt
2457+
setup: prefix: (null)
2458+
EOF
2459+
test_repo 17/.git/wt
2460+
'
2461+
2462+
test_expect_failure '#17.2: in .git/wt/sub' '
2463+
cat >17/.git/wt/sub/expected <<EOF &&
2464+
setup: git_dir: $TRASH_DIRECTORY/17/.git
2465+
setup: worktree: (null)
2466+
setup: cwd: $TRASH_DIRECTORY/17/.git/wt/sub
2467+
setup: prefix: (null)
2468+
EOF
2469+
test_repo 17/.git/wt/sub
2470+
'
2471+
2472+
test_expect_failure '#17.2: at root' '
2473+
cat >17/expected <<EOF &&
2474+
setup: git_dir: .git
2475+
setup: worktree: (null)
2476+
setup: cwd: $TRASH_DIRECTORY/17
2477+
setup: prefix: (null)
2478+
EOF
2479+
test_repo 17
2480+
'
2481+
2482+
test_expect_failure '#17.2: in subdir' '
2483+
cat >17/sub/expected <<EOF &&
2484+
setup: git_dir: $TRASH_DIRECTORY/17/.git
2485+
setup: worktree: (null)
2486+
setup: cwd: $TRASH_DIRECTORY/17/sub
2487+
setup: prefix: (null)
2488+
EOF
2489+
test_repo 17/sub
2490+
'
2491+
23632492
test_done

0 commit comments

Comments
 (0)