t1400: use git rev-parse for testing PSEUDOREF existence

This will allow these tests to run with alternative ref backends

Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Han-Wen Nienhuys 2020-07-16 18:45:39 +00:00 committed by Junio C Hamano
parent 523fa69c36
commit 0b7de6c683

View File

@ -475,57 +475,57 @@ test_expect_success 'git cat-file blob master@{2005-05-26 23:42}:F (expect OTHER
test_expect_success 'given old value for missing pseudoref, do not create' ' test_expect_success 'given old value for missing pseudoref, do not create' '
test_must_fail git update-ref PSEUDOREF $A $B 2>err && test_must_fail git update-ref PSEUDOREF $A $B 2>err &&
test_path_is_missing .git/PSEUDOREF && test_must_fail git rev-parse PSEUDOREF &&
test_i18ngrep "could not read ref" err test_i18ngrep "could not read ref" err
' '
test_expect_success 'create pseudoref' ' test_expect_success 'create pseudoref' '
git update-ref PSEUDOREF $A && git update-ref PSEUDOREF $A &&
test $A = $(cat .git/PSEUDOREF) test $A = $(git rev-parse PSEUDOREF)
' '
test_expect_success 'overwrite pseudoref with no old value given' ' test_expect_success 'overwrite pseudoref with no old value given' '
git update-ref PSEUDOREF $B && git update-ref PSEUDOREF $B &&
test $B = $(cat .git/PSEUDOREF) test $B = $(git rev-parse PSEUDOREF)
' '
test_expect_success 'overwrite pseudoref with correct old value' ' test_expect_success 'overwrite pseudoref with correct old value' '
git update-ref PSEUDOREF $C $B && git update-ref PSEUDOREF $C $B &&
test $C = $(cat .git/PSEUDOREF) test $C = $(git rev-parse PSEUDOREF)
' '
test_expect_success 'do not overwrite pseudoref with wrong old value' ' test_expect_success 'do not overwrite pseudoref with wrong old value' '
test_must_fail git update-ref PSEUDOREF $D $E 2>err && test_must_fail git update-ref PSEUDOREF $D $E 2>err &&
test $C = $(cat .git/PSEUDOREF) && test $C = $(git rev-parse PSEUDOREF) &&
test_i18ngrep "unexpected object ID" err test_i18ngrep "unexpected object ID" err
' '
test_expect_success 'delete pseudoref' ' test_expect_success 'delete pseudoref' '
git update-ref -d PSEUDOREF && git update-ref -d PSEUDOREF &&
test_path_is_missing .git/PSEUDOREF test_must_fail git rev-parse PSEUDOREF
' '
test_expect_success 'do not delete pseudoref with wrong old value' ' test_expect_success 'do not delete pseudoref with wrong old value' '
git update-ref PSEUDOREF $A && git update-ref PSEUDOREF $A &&
test_must_fail git update-ref -d PSEUDOREF $B 2>err && test_must_fail git update-ref -d PSEUDOREF $B 2>err &&
test $A = $(cat .git/PSEUDOREF) && test $A = $(git rev-parse PSEUDOREF) &&
test_i18ngrep "unexpected object ID" err test_i18ngrep "unexpected object ID" err
' '
test_expect_success 'delete pseudoref with correct old value' ' test_expect_success 'delete pseudoref with correct old value' '
git update-ref -d PSEUDOREF $A && git update-ref -d PSEUDOREF $A &&
test_path_is_missing .git/PSEUDOREF test_must_fail git rev-parse PSEUDOREF
' '
test_expect_success 'create pseudoref with old OID zero' ' test_expect_success 'create pseudoref with old OID zero' '
git update-ref PSEUDOREF $A $Z && git update-ref PSEUDOREF $A $Z &&
test $A = $(cat .git/PSEUDOREF) test $A = $(git rev-parse PSEUDOREF)
' '
test_expect_success 'do not overwrite pseudoref with old OID zero' ' test_expect_success 'do not overwrite pseudoref with old OID zero' '
test_when_finished git update-ref -d PSEUDOREF && test_when_finished git update-ref -d PSEUDOREF &&
test_must_fail git update-ref PSEUDOREF $B $Z 2>err && test_must_fail git update-ref PSEUDOREF $B $Z 2>err &&
test $A = $(cat .git/PSEUDOREF) && test $A = $(git rev-parse PSEUDOREF) &&
test_i18ngrep "already exists" err test_i18ngrep "already exists" err
' '