t / t0004-unwritable.shon commit Git 1.7.9.4 (a460348)
   1#!/bin/sh
   2
   3test_description='detect unwritable repository and fail correctly'
   4
   5. ./test-lib.sh
   6
   7test_expect_success setup '
   8
   9        >file &&
  10        git add file &&
  11        test_tick &&
  12        git commit -m initial &&
  13        echo >file &&
  14        git add file
  15
  16'
  17
  18test_expect_success POSIXPERM,SANITY 'write-tree should notice unwritable repository' '
  19        test_when_finished "chmod 775 .git/objects .git/objects/??" &&
  20        chmod a-w .git/objects .git/objects/?? &&
  21        test_must_fail git write-tree
  22'
  23
  24test_expect_success POSIXPERM,SANITY 'commit should notice unwritable repository' '
  25        test_when_finished "chmod 775 .git/objects .git/objects/??" &&
  26        chmod a-w .git/objects .git/objects/?? &&
  27        test_must_fail git commit -m second
  28'
  29
  30test_expect_success POSIXPERM,SANITY 'update-index should notice unwritable repository' '
  31        test_when_finished "chmod 775 .git/objects .git/objects/??" &&
  32        echo 6O >file &&
  33        chmod a-w .git/objects .git/objects/?? &&
  34        test_must_fail git update-index file
  35'
  36
  37test_expect_success POSIXPERM,SANITY 'add should notice unwritable repository' '
  38        test_when_finished "chmod 775 .git/objects .git/objects/??" &&
  39        echo b >file &&
  40        chmod a-w .git/objects .git/objects/?? &&
  41        test_must_fail git add file
  42'
  43
  44test_done