9255c63c08f06399525ca098d0374ad7d197e0b7
[git/git.git] / t / t0004-unwritable.sh
1 #!/bin/sh
2
3 test_description='detect unwritable repository and fail correctly'
4
5 . ./test-lib.sh
6
7 test_expect_success setup '
8
9 >file &&
10 git add file &&
11 git commit -m initial &&
12 echo >file &&
13 git add file
14
15 '
16
17 test_expect_success 'write-tree should notice unwritable repository' '
18
19 (
20 chmod a-w .git/objects
21 test_must_fail git write-tree
22 )
23 status=$?
24 chmod 775 .git/objects
25 (exit $status)
26
27 '
28
29 test_expect_success 'commit should notice unwritable repository' '
30
31 (
32 chmod a-w .git/objects
33 test_must_fail git commit -m second
34 )
35 status=$?
36 chmod 775 .git/objects
37 (exit $status)
38
39 '
40
41 test_expect_success 'update-index should notice unwritable repository' '
42
43 (
44 echo a >file &&
45 chmod a-w .git/objects
46 test_must_fail git update-index file
47 )
48 status=$?
49 chmod 775 .git/objects
50 (exit $status)
51
52 '
53
54 test_expect_success 'add should notice unwritable repository' '
55
56 (
57 echo b >file &&
58 chmod a-w .git/objects
59 test_must_fail git add file
60 )
61 status=$?
62 chmod 775 .git/objects
63 (exit $status)
64
65 '
66
67 test_done