(CommandList children: [ (Sentence child: (C {(.)} { (DQ (BracedVarSub token: <VSub_Name srcdir> suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)}) spids: [47 51] ) (/tests/init.sh) ) } ) terminator: <Op_Semi ';'> ) (C {(path_prepend_)} {(./src)}) (C {(print_ver_)} {(runcon)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:diag) op: Equal rhs: {(SQ <'runcon: runcon may be used only on a SELinux kernel'>)} spids: [65] ) ] spids: [65] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$diag'))}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(exp)} spids:[76])] ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [ {(runcon)} { (CommandSubPart command_list: (CommandList children:[(C {(id)} {(-Z)})]) left_token: <Left_CommandSub '$('> spids: [100 104] ) } {(true)} {(-j)} ] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(out)} spids:[110])] ) (SimpleCommand words: [{(Lit_Other ':')}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(exp)} spids:[118])] ) ] ) (Case to_match: { (CommandSubPart command_list: (CommandList children:[(C {(cat)} {(out)})]) left_token: <Left_CommandSub '$('> spids: [137 141] ) } arms: [ (case_arm pat_list: [{(SQ <'runcon: invalid context: '>) (Lit_Other '*')}] action: [ (SimpleCommand words: [{(echo)} {(DQ ($ VSub_Name '$diag'))}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(out)} spids:[158])] ) ] spids: [147 150 161 16777215] ) ] spids: [135 143 163] ) (AndOr ops: [Op_DPipe] children: [ (C {(compare)} {(exp)} {(out)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[174])] spids: [174] ) ] ) (C {(Exit)} {($ VSub_Name '$fail')}) ] )