(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <"git rev-list --max-count and --skip test">)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ <setup>)} 
      {
        (SQ <"\n"> <"    for n in 1 2 3 4 5 ; do \\\n"> <"        echo $n > a ; \\\n"> 
          <"        git add a ; \\\n"> <"        git commit -m \"$n\" ; \\\n"> <"    done\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"no options">)} 
      {(SQ <"\n"> <"    test $(git rev-list HEAD | wc -l) = 5\n">)}
    )
    (C {(test_expect_success)} {(SQ <--max-count>)} 
      {
        (SQ <"\n"> <"    test $(git rev-list HEAD --max-count=0 | wc -l) = 0 &&\n"> 
          <"    test $(git rev-list HEAD --max-count=3 | wc -l) = 3 &&\n"> <"    test $(git rev-list HEAD --max-count=5 | wc -l) = 5 &&\n"> 
          <"    test $(git rev-list HEAD --max-count=10 | wc -l) = 5\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"--max-count all forms">)} 
      {
        (SQ <"\n"> <"    test $(git rev-list HEAD --max-count=1 | wc -l) = 1 &&\n"> 
          <"    test $(git rev-list HEAD -1 | wc -l) = 1 &&\n"> <"    test $(git rev-list HEAD -n1 | wc -l) = 1 &&\n"> 
          <"    test $(git rev-list HEAD -n 1 | wc -l) = 1\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <--skip>)} 
      {
        (SQ <"\n"> <"    test $(git rev-list HEAD --skip=0 | wc -l) = 5 &&\n"> 
          <"    test $(git rev-list HEAD --skip=3 | wc -l) = 2 &&\n"> <"    test $(git rev-list HEAD --skip=5 | wc -l) = 0 &&\n"> 
          <"    test $(git rev-list HEAD --skip=10 | wc -l) = 0\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"--skip --max-count">)} 
      {
        (SQ <"\n"> <"    test $(git rev-list HEAD --skip=0 --max-count=0 | wc -l) = 0 &&\n"> 
          <"    test $(git rev-list HEAD --skip=0 --max-count=10 | wc -l) = 5 &&\n"> <"    test $(git rev-list HEAD --skip=3 --max-count=0 | wc -l) = 0 &&\n"> 
          <"    test $(git rev-list HEAD --skip=3 --max-count=1 | wc -l) = 1 &&\n"> <"    test $(git rev-list HEAD --skip=3 --max-count=2 | wc -l) = 2 &&\n"> 
          <"    test $(git rev-list HEAD --skip=3 --max-count=10 | wc -l) = 2 &&\n"> <"    test $(git rev-list HEAD --skip=5 --max-count=10 | wc -l) = 0 &&\n"> 
          <"    test $(git rev-list HEAD --skip=10 --max-count=10 | wc -l) = 0\n">
        )
      }
    )
    (C {(test_done)})
  ]
)