(command.CommandList children: [ (C {(set)} {(-e)}) (command.CommandList children: [ (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:common_objpfx spids:[54]) op: Equal rhs: {($ VSub_Number '$1')} spids: [54] ) ] spids: [54] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] ) (command.CommandList children: [ (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:test_program_prefix_before_env spids:[60]) op: Equal rhs: {($ VSub_Number '$1')} spids: [60] ) ] spids: [60] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] ) (command.CommandList children: [ (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:run_program_env spids:[66]) op: Equal rhs: {($ VSub_Number '$1')} spids: [66] ) ] spids: [66] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] ) (command.CommandList children: [ (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:test_program_prefix_after_env spids:[72]) op: Equal rhs: {($ VSub_Number '$1')} spids: [72] ) ] spids: [72] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:lang spids:[78]) op: Equal rhs: {($ VSub_Star '$*')} spids: [78] ) ] spids: [78] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:id spids:[82]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name PPID> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(100)}) spids: [83 87] ) } spids: [82] ) ] spids: [82] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:here spids:[89]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick '`'> spids: [90 92] ) } spids: [89] ) ] spids: [89] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:status spids:[98]) op: Equal rhs: {(0)} spids: [98] ) ] spids: [98] ) (command.ForEach iter_name: l iter_words: [{($ VSub_DollarName '$lang')}] do_arg_iter: F body: (command.DoGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:here spids:[113]) op: Equal rhs: {(0)} spids: [113] ) ] spids: [113] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cns spids:[117]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {($ VSub_DollarName '$l')}) (C {(sed)} {(SQ <'s/\\(.*\\)[.][^.]*/\\1/'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [118 130] ) } spids: [117] ) ] spids: [117] ) (command.AndOr ops: [Op_DPipe] children: [ (command.SimpleCommand words: [ {(${ VSub_Name test_program_prefix_before_env)} {(${ VSub_Name run_program_env)} {(Lit_VarLike 'LC_ALL=') ($ VSub_DollarName '$l')} {(${ VSub_Name test_program_prefix_after_env)} {(${ VSub_Name common_objpfx) (localedata/collate-test)} {($ VSub_DollarName '$id')} ] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {($ VSub_DollarName '$cns') (.in)} ) (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(${ VSub_Name common_objpfx) (localedata/) ($ VSub_DollarName '$cns') (.out)} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:here spids:[179]) op: Equal rhs: {(1)} spids: [179] ) ] spids: [179] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(cmp)} {(-s)} {($ VSub_DollarName '$cns') (.in)} {(${ VSub_Name common_objpfx) (localedata/) ($ VSub_DollarName '$cns') (.out)} ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:here spids:[199]) op: Equal rhs: {(1)} spids: [199] ) ] spids: [199] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_DollarName '$here')} {(-eq)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ ($ VSub_DollarName '$l') (' collate-test OK'))})] spids: [16777215 214] ) ] else_action: [ (C {(echo)} {(DQ ($ VSub_DollarName '$l') (' collate-test FAIL'))}) (command.Pipeline children: [ (C {(diff)} {(-u)} {($ VSub_DollarName '$cns') (.in)} {(${ VSub_Name common_objpfx) (localedata/) ($ VSub_DollarName '$cns') (.out)} ) (C {(sed)} {(SQ <'s/^/ /'>)}) ] negated: F ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:status spids:[259]) op: Equal rhs: {(1)} spids: [259] ) ] spids: [259] ) ] spids: [225 263] ) (command.AndOr ops: [Op_DPipe] children: [ (command.SimpleCommand words: [ {(${ VSub_Name test_program_prefix_before_env)} {(${ VSub_Name run_program_env)} {(Lit_VarLike 'LC_ALL=') ($ VSub_DollarName '$l')} {(${ VSub_Name test_program_prefix_after_env)} {(${ VSub_Name common_objpfx) (localedata/xfrm-test)} {($ VSub_DollarName '$id')} ] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {($ VSub_DollarName '$cns') (.in)} ) (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(${ VSub_Name common_objpfx) (localedata/) ($ VSub_DollarName '$cns') (.xout)} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:here spids:[313]) op: Equal rhs: {(1)} spids: [313] ) ] spids: [313] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(cmp)} {(-s)} {($ VSub_DollarName '$cns') (.in)} {(${ VSub_Name common_objpfx) (localedata/) ($ VSub_DollarName '$cns') (.xout)} ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:here spids:[333]) op: Equal rhs: {(1)} spids: [333] ) ] spids: [333] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (command.SimpleCommand words: [ {(${ VSub_Name test_program_prefix_before_env)} {(${ VSub_Name run_program_env)} {(Lit_VarLike 'LC_ALL=') ($ VSub_DollarName '$l')} {(${ VSub_Name test_program_prefix_after_env)} {(${ VSub_Name common_objpfx) (localedata/xfrm-test)} {($ VSub_DollarName '$id')} {(-nocache)} ] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {($ VSub_DollarName '$cns') (.in)} ) (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(${ VSub_Name common_objpfx) (localedata/) ($ VSub_DollarName '$cns') (.nocache.xout) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:here spids:[385]) op: Equal rhs: {(1)} spids: [385] ) ] spids: [385] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(cmp)} {(-s)} {($ VSub_DollarName '$cns') (.in)} {(${ VSub_Name common_objpfx) (localedata/) ($ VSub_DollarName '$cns') (.nocache.xout) } ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:here spids:[405]) op: Equal rhs: {(1)} spids: [405] ) ] spids: [405] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_DollarName '$here')} {(-eq)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ ($ VSub_DollarName '$l') (' xfrm-test OK'))})] spids: [16777215 420] ) ] else_action: [ (C {(echo)} {(DQ ($ VSub_DollarName '$l') (' xfrm-test FAIL'))}) (command.Pipeline children: [ (C {(diff)} {(-u)} {($ VSub_DollarName '$cns') (.in)} {(${ VSub_Name common_objpfx) (localedata/) ($ VSub_DollarName '$cns') (.xout)} ) (C {(sed)} {(SQ <'s/^/ /'>)}) ] negated: F ) (command.Pipeline children: [ (C {(diff)} {(-u)} {($ VSub_DollarName '$cns') (.in)} {(${ VSub_Name common_objpfx) (localedata/) ($ VSub_DollarName '$cns') (.nocache.xout) } ) (C {(sed)} {(SQ <'s/^/ /'>)}) ] negated: F ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:status spids:[488]) op: Equal rhs: {(1)} spids: [488] ) ] spids: [488] ) ] spids: [431 492] ) ] spids: [110 494] ) spids: [106 108] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_DollarName '$status')}) ] )