(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:'git update-index --assume-unchanged test.\n' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:18))} { (SQ (Token id:Id.Lit_Chars val:': >file &&\n' span_id:24) (Token id:Id.Lit_Chars val:'\t git add file &&\n' span_id:25) (Token id:Id.Lit_Chars val:'\t git commit -m initial &&\n' span_id:26) (Token id:Id.Lit_Chars val:'\t git branch other &&\n' span_id:27) (Token id:Id.Lit_Chars val:'\t echo upstream >file &&\n' span_id:28) (Token id:Id.Lit_Chars val:'\t git add file &&\n' span_id:29) (Token id:Id.Lit_Chars val:'\t git commit -m upstream' span_id:30) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'do not switch branches with dirty file' span_id:37))} { (SQ (Token id:Id.Lit_Chars val:'git reset --hard &&\n' span_id:43) (Token id:Id.Lit_Chars val:'\t git checkout other &&\n' span_id:44) (Token id:Id.Lit_Chars val:'\t echo dirt >file &&\n' span_id:45) (Token id: Id.Lit_Chars val: '\t git update-index --assume-unchanged file &&\n' span_id: 46 ) (Token id:Id.Lit_Chars val:'\t test_must_fail git checkout master' span_id:47) ) } ) (C {(test_done)}) ] )