(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'Perl gettext interface (Git::I18N)'>)} spids: [13] ) ] ) (C {<.>} {<'./lib-gettext.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: [36] ) ] ) (C {<test_done>}) ] spids: [24 33] ) ] ) (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: [66] ) ] ) (C {<test_done>}) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_external_has_tap) op: assign_op.Equal rhs: {<1>} spids: [80] ) ] ) (C {<test_external_without_stderr>} {(SQ <'Perl Git::I18N API'>)} {<perl>} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) <'/t0202/test.pl'>} ) (C {<test_done>}) ] )