t1401-symbolic-ref: avoid direct filesystem access
Use symbolic-ref and rev-parse to inspect refs. Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> Reviewed-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
9910cbb6f9
commit
b1259ecff9
@ -17,14 +17,9 @@ test_expect_success 'setup' '
|
|||||||
"$TAR" cf .git.tar .git/
|
"$TAR" cf .git.tar .git/
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'symbolic-ref writes HEAD' '
|
test_expect_success 'symbolic-ref read/write roundtrip' '
|
||||||
git symbolic-ref HEAD refs/heads/foo &&
|
git symbolic-ref HEAD refs/heads/read-write-roundtrip &&
|
||||||
echo ref: refs/heads/foo >expect &&
|
echo refs/heads/read-write-roundtrip >expect &&
|
||||||
test_cmp expect .git/HEAD
|
|
||||||
'
|
|
||||||
|
|
||||||
test_expect_success 'symbolic-ref reads HEAD' '
|
|
||||||
echo refs/heads/foo >expect &&
|
|
||||||
git symbolic-ref HEAD >actual &&
|
git symbolic-ref HEAD >actual &&
|
||||||
test_cmp expect actual
|
test_cmp expect actual
|
||||||
'
|
'
|
||||||
@ -32,12 +27,13 @@ test_expect_success 'symbolic-ref reads HEAD' '
|
|||||||
test_expect_success 'symbolic-ref refuses non-ref for HEAD' '
|
test_expect_success 'symbolic-ref refuses non-ref for HEAD' '
|
||||||
test_must_fail git symbolic-ref HEAD foo
|
test_must_fail git symbolic-ref HEAD foo
|
||||||
'
|
'
|
||||||
|
|
||||||
reset_to_sane
|
reset_to_sane
|
||||||
|
|
||||||
test_expect_success 'symbolic-ref refuses bare sha1' '
|
test_expect_success 'symbolic-ref refuses bare sha1' '
|
||||||
echo content >file && git add file && git commit -m one &&
|
|
||||||
test_must_fail git symbolic-ref HEAD $(git rev-parse HEAD)
|
test_must_fail git symbolic-ref HEAD $(git rev-parse HEAD)
|
||||||
'
|
'
|
||||||
|
|
||||||
reset_to_sane
|
reset_to_sane
|
||||||
|
|
||||||
test_expect_success 'HEAD cannot be removed' '
|
test_expect_success 'HEAD cannot be removed' '
|
||||||
@ -49,16 +45,16 @@ reset_to_sane
|
|||||||
test_expect_success 'symbolic-ref can be deleted' '
|
test_expect_success 'symbolic-ref can be deleted' '
|
||||||
git symbolic-ref NOTHEAD refs/heads/foo &&
|
git symbolic-ref NOTHEAD refs/heads/foo &&
|
||||||
git symbolic-ref -d NOTHEAD &&
|
git symbolic-ref -d NOTHEAD &&
|
||||||
test_path_is_file .git/refs/heads/foo &&
|
git rev-parse refs/heads/foo &&
|
||||||
test_path_is_missing .git/NOTHEAD
|
test_must_fail git symbolic-ref NOTHEAD
|
||||||
'
|
'
|
||||||
reset_to_sane
|
reset_to_sane
|
||||||
|
|
||||||
test_expect_success 'symbolic-ref can delete dangling symref' '
|
test_expect_success 'symbolic-ref can delete dangling symref' '
|
||||||
git symbolic-ref NOTHEAD refs/heads/missing &&
|
git symbolic-ref NOTHEAD refs/heads/missing &&
|
||||||
git symbolic-ref -d NOTHEAD &&
|
git symbolic-ref -d NOTHEAD &&
|
||||||
test_path_is_missing .git/refs/heads/missing &&
|
test_must_fail git rev-parse refs/heads/missing &&
|
||||||
test_path_is_missing .git/NOTHEAD
|
test_must_fail git symbolic-ref NOTHEAD
|
||||||
'
|
'
|
||||||
reset_to_sane
|
reset_to_sane
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user