(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:tid) op:Equal rhs:{(DQ ('reexec tests'))} spids:[7])] spids: [7] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SSHD_ORIG) op: Equal rhs: {($ VSub_Name '$SSHD')} spids: [13] ) ] spids: [13] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SSHD_COPY) op: Equal rhs: {($ VSub_Name '$OBJ') (/sshd)} spids: [16] ) ] spids: [16] ) (FuncDef name: start_sshd_copy body: (BraceGroup children: [ (C {(cp)} {($ VSub_Name '$SSHD_ORIG')} {($ VSub_Name '$SSHD_COPY')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SSHD) op: Equal rhs: {($ VSub_Name '$SSHD_COPY')} spids: [39] ) ] spids: [39] ) (C {(start_sshd)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SSHD) op: Equal rhs: {($ VSub_Name '$SSHD_ORIG')} spids: [46] ) ] spids: [46] ) ] spids: [29] ) spids: [24 28] ) (FuncDef name: copy_tests body: (BraceGroup children: [ (C {(rm)} {(-f)} {(${ VSub_Name COPY)}) (ForEach iter_name: p iter_words: [{(${ VSub_Name SSH_PROTOCOLS)}] do_arg_iter: False body: (DoGroup children: [ (C {(verbose)} {(DQ ($ VSub_Name '$tid') (': proto ') ($ VSub_Name '$p'))}) (SimpleCommand words: [ {(${ VSub_Name SSH)} {(-nqo)} {(DQ ('Protocol=') ($ VSub_Name '$p'))} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(somehost)} {(cat)} {(${ VSub_Name DATA)} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(${ VSub_Name COPY)} spids: [122] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(fail)} {(DQ ('ssh cat ') ($ VSub_Name '$DATA') (' failed'))})] spids: [-1 142] ) ] spids: [-1 154] ) (AndOr children: [ (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)}) (C {(fail)} {(DQ ('corrupted copy'))}) ] op_id: Op_DPipe ) (C {(rm)} {(-f)} {(${ VSub_Name COPY)}) ] spids: [84 185] ) spids: [77 82] ) ] spids: [60] ) spids: [55 59] ) (C {(verbose)} {(DQ ('test config passing'))}) (C {(cp)} {($ VSub_Name '$OBJ') (/sshd_config)} {($ VSub_Name '$OBJ') (/sshd_config.orig)}) (C {(start_sshd)}) (SimpleCommand words: [{(echo)} {(DQ ('InvalidXXX=no'))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name '$OBJ') (/sshd_config)} spids: [213] ) ] ) (C {(copy_tests)}) (C {(stop_sshd)}) (C {(cp)} {($ VSub_Name '$OBJ') (/sshd_config.orig)} {($ VSub_Name '$OBJ') (/sshd_config)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$os'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (cygwin))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(verbose)} {(DQ ('test reexec fallback'))}) (C {(start_sshd_copy)}) (C {(rm)} {(-f)} {($ VSub_Name '$SSHD_COPY')}) (C {(copy_tests)}) (C {(stop_sshd)}) (C {(verbose)} {(DQ ('test reexec fallback without privsep'))}) (C {(cp)} {($ VSub_Name '$OBJ') (/sshd_config.orig)} {($ VSub_Name '$OBJ') (/sshd_config)}) (SimpleCommand words: [{(echo)} {(DQ ('UsePrivilegeSeparation=no'))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name '$OBJ') (/sshd_config)} spids: [301] ) ] ) (C {(start_sshd_copy)}) (C {(rm)} {(-f)} {($ VSub_Name '$SSHD_COPY')}) (C {(copy_tests)}) (C {(stop_sshd)}) ] spids: [-1 255] ) ] spids: [-1 322] ) ] )