(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'perl interface (Git.pm)'>)}
          spids: [13]
        )
      ]
      spids: [13]
    )
    (C {(.)} {(./test-lib.sh)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (Pipeline children:[(C {(test_have_prereq)} {(PERL)})] negated:T)
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:skip_all)
                  op: Equal
                  rhs: {(SQ <'skipping perl interface tests, perl not available'>)}
                  spids: [35]
                )
              ]
              spids: [35]
            )
            (C {(test_done)})
          ]
          spids: [16777215 32]
        )
      ]
      spids: [16777215 43]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [{(perl)} {(-MTest) (Lit_Other ':') (Lit_Other ':') (More)} {(-e)} {(0)}]
          redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[57])]
        )
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:skip_all)
                  op: Equal
                  rhs: {(DQ ('Perl Test::More unavailable, skipping test'))}
                  spids: [65]
                )
              ]
              spids: [65]
            )
            (C {(test_done)})
          ]
          spids: [62]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <'set up test repository'>)} 
      {
        (SQ <'echo "test file 1" > file1 &&\n'> <'     echo "test file 2" > file2 &&\n'> 
          <'     mkdir directory1 &&\n'> <'     echo "in directory1" >> directory1/file &&\n'> <'     mkdir directory2 &&\n'> 
          <'     echo "in directory2" >> directory2/file &&\n'> <'     git add . &&\n'> <'     git commit -m "first commit" &&\n'> <'\n'> 
          <'     echo "new file in subdir 2" > directory2/file2 &&\n'> <'     git add . &&\n'> <'     git commit -m "commit in directory2" &&\n'> <'\n'> 
          <'     echo "changed file 1" > file1 &&\n'> <'     git commit -a -m "second commit" &&\n'> <'\n'> 
          <'     git config --add color.test.slot1 green &&\n'> <'     git config --add test.string value &&\n'> <'     git config --add test.dupstring value1 &&\n'> 
          <'     git config --add test.dupstring value2 &&\n'> <'     git config --add test.booltrue true &&\n'> <'     git config --add test.boolfalse no &&\n'> 
          <'     git config --add test.boolother other &&\n'> <'     git config --add test.int 2k &&\n'> <'     git config --add test.path "~/foo" &&\n'> 
          <'     git config --add test.pathexpanded "$HOME/foo" &&\n'> <'     git config --add test.pathmulti foo &&\n'> <'     git config --add test.pathmulti bar\n'> 
          <'     '>
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:test_external_has_tap) op:Equal rhs:{(1)} spids:[126])]
      spids: [126]
    )
    (C {(test_external_without_stderr)} {(SQ <'Perl API'>)} {(perl)} 
      {(DQ ($ VSub_Name '$TEST_DIRECTORY')) (/t9700/test.pl)}
    )
    (C {(test_done)})
  ]
)