Re: [PATCH 1/2] t1400: add some more tests of update-ref --stdin's verify command

2014-12-11 Thread Brad King
On 12/10/2014 6:47 PM, Michael Haggerty wrote:
 Two of the tests fail because
 
 verify refs/heads/foo
 
 with no argument (not even zeros) actually *deletes* refs/heads/foo.
 This problem will be fixed in the next commit.

Reviewed-by: Brad King brad.k...@kitware.com

-Brad
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] t1400: add some more tests of update-ref --stdin's verify command

2014-12-10 Thread Michael Haggerty
Two of the tests fail because

verify refs/heads/foo

with no argument (not even zeros) actually *deletes* refs/heads/foo.
This problem will be fixed in the next commit.

Signed-off-by: Michael Haggerty mhag...@alum.mit.edu
---
The two failing tests have to restore the $m reference when they're
done because otherwise the bug deletes it, causing subsequent tests
to fail.

 t/t1400-update-ref.sh | 92 +++
 1 file changed, 92 insertions(+)

diff --git a/t/t1400-update-ref.sh b/t/t1400-update-ref.sh
index 7b4707b..6a3cdd1 100755
--- a/t/t1400-update-ref.sh
+++ b/t/t1400-update-ref.sh
@@ -619,6 +619,52 @@ test_expect_success 'stdin update/create/verify 
combination works' '
test_must_fail git rev-parse --verify -q $c
 '
 
+test_expect_success 'stdin verify succeeds for correct value' '
+   git rev-parse $m expect 
+   echo verify $m $m stdin 
+   git update-ref --stdin stdin 
+   git rev-parse $m actual 
+   test_cmp expect actual
+'
+
+test_expect_success 'stdin verify succeeds for missing reference' '
+   echo verify refs/heads/missing $Z stdin 
+   git update-ref --stdin stdin 
+   test_must_fail git rev-parse --verify -q refs/heads/missing
+'
+
+test_expect_success 'stdin verify treats no value as missing' '
+   echo verify refs/heads/missing stdin 
+   git update-ref --stdin stdin 
+   test_must_fail git rev-parse --verify -q refs/heads/missing
+'
+
+test_expect_success 'stdin verify fails for wrong value' '
+   git rev-parse $m expect 
+   echo verify $m $m~1 stdin 
+   test_must_fail git update-ref --stdin stdin 
+   git rev-parse $m actual 
+   test_cmp expect actual
+'
+
+test_expect_success 'stdin verify fails for mistaken null value' '
+   git rev-parse $m expect 
+   echo verify $m $Z stdin 
+   test_must_fail git update-ref --stdin stdin 
+   git rev-parse $m actual 
+   test_cmp expect actual
+'
+
+test_expect_failure 'stdin verify fails for mistaken empty value' '
+   M=$(git rev-parse $m) 
+   test_when_finished git update-ref $m $M 
+   git rev-parse $m expect 
+   echo verify $m stdin 
+   test_must_fail git update-ref --stdin stdin 
+   git rev-parse $m actual 
+   test_cmp expect actual
+'
+
 test_expect_success 'stdin update refs works with identity updates' '
cat stdin -EOF 
update $a $m $m
@@ -938,6 +984,52 @@ test_expect_success 'stdin -z update/create/verify 
combination works' '
test_must_fail git rev-parse --verify -q $c
 '
 
+test_expect_success 'stdin -z verify succeeds for correct value' '
+   git rev-parse $m expect 
+   printf $F verify $m $m stdin 
+   git update-ref -z --stdin stdin 
+   git rev-parse $m actual 
+   test_cmp expect actual
+'
+
+test_expect_success 'stdin -z verify succeeds for missing reference' '
+   printf $F verify refs/heads/missing $Z stdin 
+   git update-ref -z --stdin stdin 
+   test_must_fail git rev-parse --verify -q refs/heads/missing
+'
+
+test_expect_success 'stdin -z verify treats no value as missing' '
+   printf $F verify refs/heads/missing  stdin 
+   git update-ref -z --stdin stdin 
+   test_must_fail git rev-parse --verify -q refs/heads/missing
+'
+
+test_expect_success 'stdin -z verify fails for wrong value' '
+   git rev-parse $m expect 
+   printf $F verify $m $m~1 stdin 
+   test_must_fail git update-ref -z --stdin stdin 
+   git rev-parse $m actual 
+   test_cmp expect actual
+'
+
+test_expect_success 'stdin -z verify fails for mistaken null value' '
+   git rev-parse $m expect 
+   printf $F verify $m $Z stdin 
+   test_must_fail git update-ref -z --stdin stdin 
+   git rev-parse $m actual 
+   test_cmp expect actual
+'
+
+test_expect_failure 'stdin -z verify fails for mistaken empty value' '
+   M=$(git rev-parse $m) 
+   test_when_finished git update-ref $m $M 
+   git rev-parse $m expect 
+   printf $F verify $m  stdin 
+   test_must_fail git update-ref -z --stdin stdin 
+   git rev-parse $m actual 
+   test_cmp expect actual
+'
+
 test_expect_success 'stdin -z update refs works with identity updates' '
printf $F update $a $m $m update $b $m $m update $c $Z 
 stdin 
git update-ref -z --stdin stdin 
-- 
2.1.3

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] t1400: add some more tests of update-ref --stdin's verify command

2014-12-10 Thread Stefan Beller
On Thu, Dec 11, 2014 at 12:47:51AM +0100, Michael Haggerty wrote:
 Two of the tests fail because
 
 verify refs/heads/foo
 
 with no argument (not even zeros) actually *deletes* refs/heads/foo.
 This problem will be fixed in the next commit.
 
 Signed-off-by: Michael Haggerty mhag...@alum.mit.edu
 ---

Reviewed-By: Stefan Beller sbel...@google.com

 The two failing tests have to restore the $m reference when they're
 done because otherwise the bug deletes it, causing subsequent tests
 to fail.
 
  t/t1400-update-ref.sh | 92 
 +++
  1 file changed, 92 insertions(+)
 
 diff --git a/t/t1400-update-ref.sh b/t/t1400-update-ref.sh
 index 7b4707b..6a3cdd1 100755
 --- a/t/t1400-update-ref.sh
 +++ b/t/t1400-update-ref.sh
 @@ -619,6 +619,52 @@ test_expect_success 'stdin update/create/verify 
 combination works' '
   test_must_fail git rev-parse --verify -q $c
  '
  
 +test_expect_success 'stdin verify succeeds for correct value' '
 + git rev-parse $m expect 
 + echo verify $m $m stdin 
 + git update-ref --stdin stdin 
 + git rev-parse $m actual 
 + test_cmp expect actual
 +'
 +
 +test_expect_success 'stdin verify succeeds for missing reference' '
 + echo verify refs/heads/missing $Z stdin 
 + git update-ref --stdin stdin 
 + test_must_fail git rev-parse --verify -q refs/heads/missing
 +'
 +
 +test_expect_success 'stdin verify treats no value as missing' '
 + echo verify refs/heads/missing stdin 
 + git update-ref --stdin stdin 
 + test_must_fail git rev-parse --verify -q refs/heads/missing
 +'
 +
 +test_expect_success 'stdin verify fails for wrong value' '
 + git rev-parse $m expect 
 + echo verify $m $m~1 stdin 
 + test_must_fail git update-ref --stdin stdin 
 + git rev-parse $m actual 
 + test_cmp expect actual
 +'
 +
 +test_expect_success 'stdin verify fails for mistaken null value' '
 + git rev-parse $m expect 
 + echo verify $m $Z stdin 
 + test_must_fail git update-ref --stdin stdin 
 + git rev-parse $m actual 
 + test_cmp expect actual
 +'
 +
 +test_expect_failure 'stdin verify fails for mistaken empty value' '
 + M=$(git rev-parse $m) 
 + test_when_finished git update-ref $m $M 
 + git rev-parse $m expect 
 + echo verify $m stdin 
 + test_must_fail git update-ref --stdin stdin 
 + git rev-parse $m actual 
 + test_cmp expect actual
 +'
 +
  test_expect_success 'stdin update refs works with identity updates' '
   cat stdin -EOF 
   update $a $m $m
 @@ -938,6 +984,52 @@ test_expect_success 'stdin -z update/create/verify 
 combination works' '
   test_must_fail git rev-parse --verify -q $c
  '
  
 +test_expect_success 'stdin -z verify succeeds for correct value' '
 + git rev-parse $m expect 
 + printf $F verify $m $m stdin 
 + git update-ref -z --stdin stdin 
 + git rev-parse $m actual 
 + test_cmp expect actual
 +'
 +
 +test_expect_success 'stdin -z verify succeeds for missing reference' '
 + printf $F verify refs/heads/missing $Z stdin 
 + git update-ref -z --stdin stdin 
 + test_must_fail git rev-parse --verify -q refs/heads/missing
 +'
 +
 +test_expect_success 'stdin -z verify treats no value as missing' '
 + printf $F verify refs/heads/missing  stdin 
 + git update-ref -z --stdin stdin 
 + test_must_fail git rev-parse --verify -q refs/heads/missing
 +'
 +
 +test_expect_success 'stdin -z verify fails for wrong value' '
 + git rev-parse $m expect 
 + printf $F verify $m $m~1 stdin 
 + test_must_fail git update-ref -z --stdin stdin 
 + git rev-parse $m actual 
 + test_cmp expect actual
 +'
 +
 +test_expect_success 'stdin -z verify fails for mistaken null value' '
 + git rev-parse $m expect 
 + printf $F verify $m $Z stdin 
 + test_must_fail git update-ref -z --stdin stdin 
 + git rev-parse $m actual 
 + test_cmp expect actual
 +'
 +
 +test_expect_failure 'stdin -z verify fails for mistaken empty value' '
 + M=$(git rev-parse $m) 
 + test_when_finished git update-ref $m $M 
 + git rev-parse $m expect 
 + printf $F verify $m  stdin 
 + test_must_fail git update-ref -z --stdin stdin 
 + git rev-parse $m actual 
 + test_cmp expect actual
 +'
 +
  test_expect_success 'stdin -z update refs works with identity updates' '
   printf $F update $a $m $m update $b $m $m update $c $Z 
  stdin 
   git update-ref -z --stdin stdin 
 -- 
 2.1.3
 
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html