(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'perl interface (Git.pm)'>)} spids: [13] ) ] ) (C {<.>} {<'./test-lib.sh'>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children:[(C {<test_have_prereq>} {<PERL>})] negated:T) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:skip_all) op: assign_op.Equal rhs: {(SQ <'skipping perl interface tests, perl not available'>)} spids: [35] ) ] ) (C {<test_done>}) ] spids: [23 32] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<perl>} {<-MTest> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <More>} {<-e>} {<0>}] redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:skip_all) op: assign_op.Equal rhs: {(DQ <'Perl Test::More unavailable, skipping test'>)} spids: [65] ) ] ) (C {<test_done>}) ] ) ] ) (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'> <' '> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_external_has_tap) op: assign_op.Equal rhs: {<1>} spids: [126] ) ] ) (C {<test_external_without_stderr>} {(SQ <'Perl API'>)} {<perl>} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) <'/t9700/test.pl'>} ) (C {<test_done>}) ] )