(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 rev-list --max-count and --skip test' 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:'\n' span_id:22) 
          (Token id:Id.Lit_Chars val:'    for n in 1 2 3 4 5 ; do \\\n' span_id:23) (Token id:Id.Lit_Chars val:'        echo $n > a ; \\\n' span_id:24) 
          (Token id:Id.Lit_Chars val:'        git add a ; \\\n' span_id:25) (Token id:Id.Lit_Chars val:'        git commit -m "$n" ; \\\n' span_id:26) 
          (Token id:Id.Lit_Chars val:'    done\n' span_id:27)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'no options' span_id:34))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:38) 
          (Token
            id: Id.Lit_Chars
            val: '    test $(git rev-list HEAD | wc -l) = 5\n'
            span_id: 39
          )
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:--max-count span_id:46))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:50) 
          (Token
            id: Id.Lit_Chars
            val: '    test $(git rev-list HEAD --max-count=0 | wc -l) = 0 &&\n'
            span_id: 51
          ) (Token id:Id.Lit_Chars val:'    test $(git rev-list HEAD --max-count=3 | wc -l) = 3 &&\n' span_id:52) 
          (Token
            id: Id.Lit_Chars
            val: '    test $(git rev-list HEAD --max-count=5 | wc -l) = 5 &&\n'
            span_id: 53
          ) (Token id:Id.Lit_Chars val:'    test $(git rev-list HEAD --max-count=10 | wc -l) = 5\n' span_id:54)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'--max-count all forms' span_id:61))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:65) 
          (Token
            id: Id.Lit_Chars
            val: '    test $(git rev-list HEAD --max-count=1 | wc -l) = 1 &&\n'
            span_id: 66
          ) (Token id:Id.Lit_Chars val:'    test $(git rev-list HEAD -1 | wc -l) = 1 &&\n' span_id:67) 
          (Token
            id: Id.Lit_Chars
            val: '    test $(git rev-list HEAD -n1 | wc -l) = 1 &&\n'
            span_id: 68
          ) (Token id:Id.Lit_Chars val:'    test $(git rev-list HEAD -n 1 | wc -l) = 1\n' span_id:69)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:--skip span_id:76))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:80) 
          (Token
            id: Id.Lit_Chars
            val: '    test $(git rev-list HEAD --skip=0 | wc -l) = 5 &&\n'
            span_id: 81
          ) (Token id:Id.Lit_Chars val:'    test $(git rev-list HEAD --skip=3 | wc -l) = 2 &&\n' span_id:82) 
          (Token
            id: Id.Lit_Chars
            val: '    test $(git rev-list HEAD --skip=5 | wc -l) = 0 &&\n'
            span_id: 83
          ) (Token id:Id.Lit_Chars val:'    test $(git rev-list HEAD --skip=10 | wc -l) = 0\n' span_id:84)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'--skip --max-count' span_id:91))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:95) 
          (Token
            id: Id.Lit_Chars
            val: '    test $(git rev-list HEAD --skip=0 --max-count=0 | wc -l) = 0 &&\n'
            span_id: 96
          ) 
          (Token
            id: Id.Lit_Chars
            val: '    test $(git rev-list HEAD --skip=0 --max-count=10 | wc -l) = 5 &&\n'
            span_id: 97
          ) 
          (Token
            id: Id.Lit_Chars
            val: '    test $(git rev-list HEAD --skip=3 --max-count=0 | wc -l) = 0 &&\n'
            span_id: 98
          ) 
          (Token
            id: Id.Lit_Chars
            val: '    test $(git rev-list HEAD --skip=3 --max-count=1 | wc -l) = 1 &&\n'
            span_id: 99
          ) 
          (Token
            id: Id.Lit_Chars
            val: '    test $(git rev-list HEAD --skip=3 --max-count=2 | wc -l) = 2 &&\n'
            span_id: 100
          ) 
          (Token
            id: Id.Lit_Chars
            val: '    test $(git rev-list HEAD --skip=3 --max-count=10 | wc -l) = 2 &&\n'
            span_id: 101
          ) 
          (Token
            id: Id.Lit_Chars
            val: '    test $(git rev-list HEAD --skip=5 --max-count=10 | wc -l) = 0 &&\n'
            span_id: 102
          ) 
          (Token
            id: Id.Lit_Chars
            val: '    test $(git rev-list HEAD --skip=10 --max-count=10 | wc -l) = 0\n'
            span_id: 103
          )
        )
      }
    )
    (C {(test_done)})
  ]
)