(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:'various @{whatever} syntax tests' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:17))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:21) (Token id:Id.Lit_Chars val:'\ttest_commit one &&\n' span_id:22) (Token id:Id.Lit_Chars val:'\ttest_commit two\n' span_id:23) ) } ) (command.ShFunction name: check_at body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (command.Simple words: [{(echo)} {(DQ ($ Id.VSub_Number '$2'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:40) fd: -1 arg_word: {(expect)} ) ] ) (command.Simple words: [ {(git)} {(log)} {(-1)} {(--format) (Id.Lit_Equals '=') (Id.Lit_Other '%') (s)} {(DQ ($ Id.VSub_Number '$1'))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:61) fd: -1 arg_word: {(actual)} ) ] ) (C {(test_cmp)} {(expect)} {(actual)}) ] ) ] ) ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'@{0} shows current' span_id:79))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:83) (Token id:Id.Lit_Chars val:'\tcheck_at @{0} two\n' span_id:84) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'@{1} shows old' span_id:91))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:95) (Token id:Id.Lit_Chars val:'\tcheck_at @{1} one\n' span_id:96) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'@{now} shows current' span_id:103))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:107) (Token id:Id.Lit_Chars val:'\tcheck_at @{now} two\n' span_id:108) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: '@{2001-09-17} (before the first commit) shows old' span_id: 115 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:119) (Token id:Id.Lit_Chars val:'\tcheck_at @{2001-09-17} one\n' span_id:120) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'silly approxidates work' span_id:127))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:131) (Token id: Id.Lit_Chars val: '\tcheck_at @{3.hot.dogs.on.2001-09-17} one\n' span_id: 132 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'notice misspelled upstream' span_id:139))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:143) (Token id: Id.Lit_Chars val: '\ttest_must_fail git log -1 --format=%s @{usptream}\n' span_id: 144 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'complain about total nonsense' span_id:151))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:155) (Token id: Id.Lit_Chars val: '\ttest_must_fail git log -1 --format=%s @{utter.bogosity}\n' span_id: 156 ) ) } ) (C {(test_done)}) ] )