(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: { (SQ (Token id: Id.Lit_Chars val: 'detect unwritable repository and fail correctly' span_id: 6 ) ) } spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(setup)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:20) (Token id:Id.Lit_Chars val:'\n' span_id:21) (Token id:Id.Lit_Chars val:'\t>file &&\n' span_id:22) (Token id:Id.Lit_Chars val:'\tgit add file &&\n' span_id:23) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:24) (Token id:Id.Lit_Chars val:'\tgit commit -m initial &&\n' span_id:25) (Token id:Id.Lit_Chars val:'\techo >file &&\n' span_id:26) (Token id:Id.Lit_Chars val:'\tgit add file\n' span_id:27) (Token id:Id.Lit_Chars val:'\n' span_id:28) ) } ) (C {(test_expect_success)} {(POSIXPERM) (Id.Lit_Comma ',') (SANITY)} {(SQ (Token id:Id.Lit_Chars val:'write-tree should notice unwritable repository' span_id:39))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:43) (Token id: Id.Lit_Chars val: '\ttest_when_finished "chmod 775 .git/objects .git/objects/??" &&\n' span_id: 44 ) (Token id:Id.Lit_Chars val:'\tchmod a-w .git/objects .git/objects/?? &&\n' span_id:45) (Token id:Id.Lit_Chars val:'\ttest_must_fail git write-tree\n' span_id:46) ) } ) (C {(test_expect_success)} {(POSIXPERM) (Id.Lit_Comma ',') (SANITY)} {(SQ (Token id:Id.Lit_Chars val:'commit should notice unwritable repository' span_id:57))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:61) (Token id: Id.Lit_Chars val: '\ttest_when_finished "chmod 775 .git/objects .git/objects/??" &&\n' span_id: 62 ) (Token id:Id.Lit_Chars val:'\tchmod a-w .git/objects .git/objects/?? &&\n' span_id:63) (Token id:Id.Lit_Chars val:'\ttest_must_fail git commit -m second\n' span_id:64) ) } ) (C {(test_expect_success)} {(POSIXPERM) (Id.Lit_Comma ',') (SANITY)} {(SQ (Token id:Id.Lit_Chars val:'update-index should notice unwritable repository' span_id:75))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:79) (Token id: Id.Lit_Chars val: '\ttest_when_finished "chmod 775 .git/objects .git/objects/??" &&\n' span_id: 80 ) (Token id:Id.Lit_Chars val:'\techo 6O >file &&\n' span_id:81) (Token id: Id.Lit_Chars val: '\tchmod a-w .git/objects .git/objects/?? &&\n' span_id: 82 ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git update-index file\n' span_id:83) ) } ) (C {(test_expect_success)} {(POSIXPERM) (Id.Lit_Comma ',') (SANITY)} {(SQ (Token id:Id.Lit_Chars val:'add should notice unwritable repository' span_id:94))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:98) (Token id: Id.Lit_Chars val: '\ttest_when_finished "chmod 775 .git/objects .git/objects/??" &&\n' span_id: 99 ) (Token id:Id.Lit_Chars val:'\techo b >file &&\n' span_id:100) (Token id: Id.Lit_Chars val: '\tchmod a-w .git/objects .git/objects/?? &&\n' span_id: 101 ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git add file\n' span_id:102) ) } ) (C {(test_done)}) ] )